Finalement en essayant ce bout de code, on s'apperçoit que ça ne change rien de rajouter ou non virtual dans une classe fille en terme de taille de l'éxécutable, puisque sauf erreur de ma part à partir du moment ou la fonction est virtual dans la base, la fonction fille hérité de se caractère virtual :
Code :
- class Virtual {
- public:
- virtual void foo() {
- }
- };
- class Base : private Virtual {
- public:
- void foo() {
- std::cout << "Base::foo()" << '\n';
- }
- };
- class Derived : public Base {
- public:
- void foo() {
- std::cout << "Derived::foo()" << '\n';
- }
- };
- int main()
- {
- Base* p2 = new Derived;
- p2->foo(); //Derived::foo()
- }
|
Message édité par frenchtoucco le 18-01-2009 à 22:09:12
---------------
je connais tout, je ne sais rien, seule certitude, à vouloir trop on finit par tout perdre.