您的位置:首页 > 其它

对私有继承成员的公有化

2014-08-25 16:30 127 查看
   在C++中一般很少采用私有继承。

        一般采用的都是公有继承的方式:

                                 class A:public B{...};

但是私有继承在我们只要部分公有化继承成员的时候是很有用的。

          

      当采用的是私有继承的时候,基类中的public都会变成private 。而此时如果我们希望其中的一部分成员是可视的话,那么我们只要在继承的类的public中声明他们就好了。

   #include<iostream>
using namespace std;
class Pet{
public:
void eat()const{cout<<"eating\n";}
void speak()const{cout<<"wa~wa~\n";}
int height(int x){

return x;
}
};
class Dog:Pet{
public:
Pet::eat;
Pet::speak;
Pet::height;
};
int main()
{
Dog z;
z.eat();
cout<<"height is "<<z.height(4)<<endl;
z.speak();
return 0;
}而注意的是我们在继承的类中的public的重新声明当中,不管函数的参数,只要写入函数名就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: