请详细地讲一下类的派生和继承…
展开全部
同一概念
------------
1.
公有继承(public)
公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的。
2.
私有继承(private)
私有继承的特点是基类的公有成员和保护成员都作为派生类的私有成员,并且不能被这个派生类的子类所访问。
3.
保护继承(protected)
保护继承的特点是基类的所有公有成员和保护成员都成为派生类的保护成员,并且只能被它的派生类成员函数或友元访问,基类的私有成员仍然是私有的。
-------------------------------------
假设A是基类,B是A的派生类,C是B的派生类
假设B公有继承于A,C公有继承于B,则
B可访问A的公有,保护类成员,但不可访问A的私有成员(所以继承方式,派生类均不可访问父类的私有成员,以下不再重复说明)
C可访问A的公有,保护类成员
假设B保护继承于A,C公有保护于B,则
B可访问A的公有,保护类成员,
C可以访问A的公有,保护类成员
假设B私有继承于A,C公有保护于B,则
B可访问A的公有,保护类成员,
C不可访问A的所有成员
----------------------------------
派生类构造函数会自动在开始处调用父类构造函数
派生类的析构函数也会自动在开始处调用父类的析构函数
一般将基类的析构函数设置成虚函数,这样在多态时才能够做到正确释放资源
------------
1.
公有继承(public)
公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的。
2.
私有继承(private)
私有继承的特点是基类的公有成员和保护成员都作为派生类的私有成员,并且不能被这个派生类的子类所访问。
3.
保护继承(protected)
保护继承的特点是基类的所有公有成员和保护成员都成为派生类的保护成员,并且只能被它的派生类成员函数或友元访问,基类的私有成员仍然是私有的。
-------------------------------------
假设A是基类,B是A的派生类,C是B的派生类
假设B公有继承于A,C公有继承于B,则
B可访问A的公有,保护类成员,但不可访问A的私有成员(所以继承方式,派生类均不可访问父类的私有成员,以下不再重复说明)
C可访问A的公有,保护类成员
假设B保护继承于A,C公有保护于B,则
B可访问A的公有,保护类成员,
C可以访问A的公有,保护类成员
假设B私有继承于A,C公有保护于B,则
B可访问A的公有,保护类成员,
C不可访问A的所有成员
----------------------------------
派生类构造函数会自动在开始处调用父类构造函数
派生类的析构函数也会自动在开始处调用父类的析构函数
一般将基类的析构函数设置成虚函数,这样在多态时才能够做到正确释放资源
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询