C++中的继承是一种面向对象编程的基本概念之一,可以通过继承实现代码的重用和层次结构的构建。下面是使用C++继承的基本方法:
- 定义基类(父类) 定义一个基类,它包含通用的属性和方法,并且可以被派生类(子类)继承。例如:
class Shape { public: void setWidth(int w) { width = w; } void setHeight(int h) { height = h; } protected: int width; int height; };
- 定义派生类(子类) 定义一个派生类,它从基类继承属性和方法,并且可以添加自己的属性和方法。例如:
class Rectangle: public Shape { public: int getArea() { return (width * height); } };
- 创建对象并调用方法 创建一个派生类的对象,并且可以访问其继承自基类的方法和属性,也可以访问自己新增的方法和属性。例如:
int main() { Rectangle rect; rect.setWidth(5); rect.setHeight(7); cout << "Total area: " << rect.getArea() << endl; return 0; }
在上面的例子中,Rectangle类继承了Shape类,并添加了getArea()方法来计算矩形的面积。
注意:
- 在派生类中,基类的成员变量和方法可以使用
protected
或public
进行修饰。使用protected
时,基类成员变量和方法可以在派生类中被访问,但不能在主函数中直接访问。使用public
时,基类成员变量和方法可以在派生类和主函数中被访问。 - 在定义派生类时,需要使用关键字
public
、private
或protected
来指定继承方式。public
表示公有继承,在派生类中,基类的所有public
成员变量和方法都会成为派生类的public
成员变量和方法;private
表示私有继承,在派生类中,基类的所有成员变量和方法都会变成派生类的私有成员变量和方法;protected
表示保护继承,在派生类中,基类的所有public
和protected
成员变量和方法都会成为派生类的protected
成员变量和方法。 - 派生类可以继承多个基类,称为多重继承。不过,多重继承也存在一些问题,因此需要谨慎使用。