首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

c++中子类对父类同名步骤的扩展

2012-09-06 
c++中子类对父类同名方法的扩展#includeiostreamclass A{public:void p(){std::coutnothingstd::e

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方法,但是编译时会报错。。。。请高人指点。。

[解决办法]

C/C++ code
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();这样调用也可以。

热点排行