在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的重新声明当中,不管函数的参数,只要写入函数名就可以了。原文:http://blog.csdn.net/zhouyelihua/article/details/38822415