C++派生概述
C++中的派生允许从一个已有的类中创建一个新的类,该新类继承了原有类的属性和方法。
派生类可以增加新的属性和方法,也可以重写原有类的方法以改变其行为。
C++中的派生类可以通过公有、私有和保护继承来继承基类的成员。
公有继承允许派生类访问基类的公有成员,私有继承只允许派生类访问基类的私有成员,保护继承允许派生类访问基类的保护成员。
派生类可以使用基类的构造函数和析构函数,也可以重载它们以满足自己的需要。
派生类还可以使用基类的成员函数和数据成员,但是不能直接访问基类的私有成员。
C++中的多重继承允许一个类从多个基类中继承属性和方法,但是这种继承方式可能会导致命名冲突和其他问题,需要谨慎使用。
下面我简单写个 demo,方便读者理解:
我写的这个 demo,Animal 是基类,Dog 是派生类。
Dog 继承了 Animal 的公有成员函数 eat() ,并添加了自己的公有成员函数 bark() 。
在 main() 函数中,我们创建了一个 Dog 对象 myDog ,并调用了它继承自 Animal 的方法 eat() 和自己的方法 bark() 。
上述 demo 编译运行结果:
C++派生注意事项
派生类必须在类名后面加上冒号和基类名,表示继承关系。
基类的构造函数和析构函数会自动被派生类的构造函数和析构函数调用,无需手动调用。
派生类不能直接访问基类的私有成员,但可以通过基类的公有和保护成员来访问。
如果派生类中有与基类同名的成员函数或成员变量,那么派生类的成员会隐藏基类的同名成员,需要使用作用域解析符::
来访问基类的成员。
派生类可以重载基类的成员函数,但是需要注意函数的参数和返回值类型必须与基类的函数相同。
派生类可以添加自己的成员函数和成员变量,但是需要注意访问权限和命名规范。
我建议在使用派生类时,请仔细考虑继承关系和访问权限。