5
È possibile chiamare la funzione virtuale foo (int) da B senza utilizzare ciò che viene fatto nel commento?polimorfismo C++ e funzione virtuale
class A {
public:
virtual void foo (char *) {
}
virtual void foo (int) {
}
};
class B : public A {
public:
void foo (char *) {
}
//void foo (int i) {
//
// A::foo(i);
//}
};
B b;
b.foo(123); // cannot convert argument 1 from 'int' to 'char *'
Si prega di fissare il rientro ..... il la dichiarazione di 'virtual void foo (int)' a prima vista sembra essere il corpo di 'virtual void foo (char *)'. Ai compilatori non interessa la formattazione dispari, ma gli umani ... –
@AndreKostur FWIW, il bizzarro rientro degli overload di 'foo' è stato introdotto da un editor, non dall'OP. – Angew