子类重定义父类方法只能调用自己的方法 。父类的同名函数被覆盖。(只要函数名相同就构成重定义)。要调用父类的。必须用作用域。
#include<iostream>
#include<string>
using namespace std;
class MyStr
{
private:
char *name;
int id;
public:
MyStr() {}
MyStr(int a) {
cout<< a<<endl;
}
void fun(){
cout<<"biss"<<endl;
}
};
class allen: public MyStr
{
public:
void fun(int a){
MyStr::fun();
cout<<"sun"<<endl;
}
};
int main()
{
allen allen1;
allen1.fun(100);
allen1.MyStr::fun();//只能这样
}
原文地址:http://blog.51cto.com/haidragon/2070855
时间: 2024-10-12 10:11:10