5
Có thể gọi hàm ảo foo (int) từ B mà không sử dụng những gì được thực hiện trong nhận xét?C++ đa hình và chức năng ảo
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 *'
Hãy sửa các thụt ..... các khai báo 'virtual void foo (int)' trên cái nhìn đầu tiên dường như là phần thân của 'virtual void foo (char *)'. Các trình biên dịch có thể không quan tâm đến định dạng kỳ quặc, nhưng con người làm ... –
@AndreKostur FWIW, sự thụt lề kỳ lạ của quá tải 'foo' được giới thiệu bởi một biên tập viên, chứ không phải bởi OP. – Angew