在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的重新声明当中,不管函数的参数,只要写入函数名就可以了。
时间: 2024-10-04 12:16:40