doomer
23-11-2008, 14:58
se ho qualcosa del genere:
//in a.h
class A
{ public:
virtual int get() const;
}
//in b.h
class B : public A
{ public:
int get() const;
}
//in b.cpp
int B::get() const { ... }
mi da un errore riguardo la vtable..
se implemento in a.cpp il metodo get, che non faccia niente ad esempio così:
int A::get() const {}
mi da warning perchè non ritorno niente... ma io non voglio ritornare niente.. anzi perchè sono costretto a implementare il metodo in a.cpp? get mi serve solo perchè venga implementato dalle classi derivate.. e A non la voglio virtuale pura...
se faccio:
//a.cpp
int A::get() const {return 0}
probabilmente risolverei la cosa ma vorrei sapere se le cose stanno veramente così...
//in a.h
class A
{ public:
virtual int get() const;
}
//in b.h
class B : public A
{ public:
int get() const;
}
//in b.cpp
int B::get() const { ... }
mi da un errore riguardo la vtable..
se implemento in a.cpp il metodo get, che non faccia niente ad esempio così:
int A::get() const {}
mi da warning perchè non ritorno niente... ma io non voglio ritornare niente.. anzi perchè sono costretto a implementare il metodo in a.cpp? get mi serve solo perchè venga implementato dalle classi derivate.. e A non la voglio virtuale pura...
se faccio:
//a.cpp
int A::get() const {return 0}
probabilmente risolverei la cosa ma vorrei sapere se le cose stanno veramente così...