C++ 继承


C++中的继承是一种重要的面向对象编程思想。继承是指从一个类中派生出一个新类,新类拥有原有类的全部成员变量和成员函数,同时可以增加新的成员变量和成员函数。

C++中的继承可以分为公有继承,私有继承,和保护继承。

公有继承是最常用的一种继承,被继承的类的公有成员可以被新类访问,私有成员仅在当前类中访问。

私有继承是指被继承的类的公有和私有成员对新类都是私有的。

保护继承的特点在于被继承的类的公有和保护成员对新类都是保护的。

C++中使用继承可以提高代码的复用率和可读性,同时在派生类中也可以重载被继承类的成员函数和成员变量。派生类可以直接访问被继承类的公有成员,而被继承类在派生类中是作为基类存在,可以使用作用域限定符访问其成员。

在使用继承时,需要遵守以下几个原则:

  1. 子类应该只访问被继承类的公有成员,而不应直接访问基类的私有成员。

  2. 构造函数和析构函数的执行顺序从基类到派生类,先构造基类对象,再构造派生类对象;先析构派生类对象,再析构基类对象。

  3. 派生类的访问级别不能远高于基类的访问级别。

最后,需要注意的是,在合适的情况下应该尽量使用组合而不是继承。组合是指在一个类中嵌入其它类的对象,从而组装出一个新类。组合相比继承具有更好的灵活性和可控性。