c++中子类对父类同名方法的扩展
#include<iostream>
class A
{
public:
void p()
{
std::cout<<"nothing"<<std::endl;
}
void p(int )
{
std::cout<<" p(int)"<<std::endl;
}
};
class B:public A
{
public:
void p(int ,int)
{
std::cout<<"int ,int "<<std::endl;
}
void p(int,int ,int)
{
std::cout<<"int ,int ,int"<<std::endl;
}
};
int main()
{
B b;
b.p();
return 0;
}
如上面程序:我想在类B中扩展类A中继承下来的p方法,但是编译时会报错。。。。请高人指点。。
[解决办法]
class B:public A{public: using A::p; void p( int , int ) { std::cout << "int ,int " << std::endl; } void p( int, int , int ) { std::cout << "int ,int ,int" << std::endl; }};
[解决办法]
b.A::p();这样调用也可以。