Ho un metodo C++ virtuale che sto definendo in un file .h e implementato in un file .cc. L'implementazione nel file .cc deve essere contrassegnata come virtuale o solo la dichiarazione nel file .h? Per esempio, la mia intestazione ha:Un'implementazione del metodo C++ virtuale nel file .cpp deve essere contrassegnata come virtuale?
virtual std::string toString() const;
Il metodo è implementato nel mio .cc:
std::string
MyObject::toString() const {
[implementation code]
}
qualora l'attuazione risulti contrassegnato virtuale, o è il codice di cui sopra OK? Importa?
solo dichiarazione –
È ** illegale ** contrassegnare l'implementazione come virtuale. –
Il tuo compilatore ti dà anche una scelta? Se sì, quale compilatore? – juanchopanza