在一个public继承关系中,派生类的对象都可被视为基类的对象
时间: 2023-06-19 07:04:43 浏览: 124
是的,这是一个基本的面向对象编程的概念。在一个public继承关系中,派生类继承了基类的所有成员,包括成员变量和成员函数,并且可以访问这些成员。因此,派生类的对象可以被视为基类的对象,可以调用基类的成员函数和访问基类的成员变量。这种特性被称为“基类指针可以指向派生类对象”,可以在程序中实现多态性的特性。
相关问题
派生类对基类的继承方式有三种:公用继承、私有继承、保护继承。试比较三种继承方式的异同
三种继承方式的异同如下:
1. 公用继承(public inheritance):派生类继承了基类的公有成员和保护成员,但基类的私有成员不能被访问。在公用继承中,基类的公有成员和保护成员在派生类中被视为公有成员和保护成员。这种继承方式的主要优点是能够使得派生类对象能够访问基类的接口(public成员函数),并能够重用基类的代码实现。其主要缺点是派生类对象能够访问基类的保护成员,破坏了基类的封装性。
2. 私有继承(private inheritance):派生类继承了基类的公有成员和保护成员,但基类的私有成员不能被访问。在私有继承中,基类的公有成员和保护成员在派生类中被视为私有成员。这种继承方式的主要优点是能够实现类的组合,从而实现派生类对基类的封装,使得派生类对象不能直接访问基类的接口。其主要缺点是不能够直接重用基类的代码实现。
3. 保护继承(protected inheritance):派生类继承了基类的公有成员和保护成员,但基类的私有成员不能被访问。在保护继承中,基类的公有成员和保护成员在派生类中被视为保护成员。这种继承方式的主要优点是能够实现类的组合,并且能够让派生类对象能够访问基类的接口,同时也能够保护基类的封装性。其主要缺点是派生类对象能够访问基类的保护成员,破坏了基类的封装性。
综上所述,三种继承方式各有优缺点,在使用时需要根据具体情况进行选择。一般来说,公用继承是最常用的继承方式,私有继承和保护继承较少使用。
阅读全文