1,继承的概念
1,面向对象中的继承指类之间的父子关系。
子类拥有父类的所有成员变量和成员函数。
子类对象可以当做父类对象使用
子类可以拥有父类没有的方法和属性
下面看一个例子
class parent
{
private:
int a;
public:
parent()
{
a = 100;
}
void print()
{
cout<<"a = "<< a << endl;
}
};
class child : parent
{
};
int main()
{
parent p;
p.print();
child c;
c.print();
return 0 ;
}
以上代码会出现错误,提示print函数是私有的。
2,深入了解继承
c++中的访问级别与继承 继承时的访问级别设定会影响到成员的访问级别。class child : parent{ class child : private parent{ 等于}; };但是要注意:c++中class的继承默认为private继承。private继承的子类拥有父类的所有成员。private继承使得父类的所有成员在子类中变为private c++中的访问级别与继承public继承父类成员在子类中保持原有访问级别private继承父类成员在子类中变为private成员
例:
上面这段代码会出现错误:提示a是私有成员,无法访问。因为对于parent类,a是私有成员,对于child,属于类的外部,当然不能访问。根据以上问题c++提供了新的关键字3,类的protect成员protect成员可以在子类中被访问但不能在外界被访问。protect成员的访问权限结余private和public之间下面如果将上述程序子类中的时候就可以被子类访问了。那么类成员访问级别究竟是怎么设置的呢1,需要被外界访问的成员设置为public 2,只能在当前类中访问的成员直接设置为private3,能在当前类和子类中访问的成员设置为protected。