5
Açıklamada ne yapıldığını kullanmadan sanal işlev foo (int) B'yi çağırmak mümkün mü?C++ polimorfizm ve sanal işlev
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 *'
girintilemeyi düzeltin ..... ilk bakışta sanal sanal foo (int) 'nin beyanı' sanal boşluk foo (char *) 'nin bedeni gibi görünüyor. Derleyiciler tuhaf biçimlendirmeyi umursamayabilirler, ama insanlar bunu yaparlar. –
@AndreKostur FWIW, 'foo' aşırı yüklenmelerinin tuhaf girintisi OP tarafından değil, bir editör tarafından tanıtıldı. – Angew