0
很简单的C++继承的例子:C++继承与方法覆盖
#include <iostream>
using namespace std;
class A{
public :
virtual void print(A a){
cout<<"a"<<endl;
}
};
class B : public A {
public :
virtual void print(A a){
cout<<"a2"<<endl;
}
virtual void print(B b){
cout<<"b"<<endl;
}
};
int main(){
B b;
A &a = b;
a.print(b);
return 0;
}
为什么这个输出A2? 我本来预料到这个效果是一样的: b.print(b)
谢谢!
它被称为“功能覆盖”。 – herohuyongtao