一篇文章带你了解C++面向对象编程--继承

📅 2026/7/14 0:35:39
一篇文章带你了解C++面向对象编程--继承
C 面向对象编程 —— 继承Shape 基类123456789101112131415classShape {public:Shape() {// 构造函数cout Shape - Constructor endl;}~Shape() {// 析构函数cout Shape - Destructor endl;}voidPerimeter() {// 求 Shape 周长cout Shape - Perimeter endl;}voidArea() {// 求 Shape 面积cout Shape - Area endl;}};Circle 派生类Circle 类继承于 “Shape” 类12345678910111213141516171819classCircle :publicShape {public:Circle(intradius) :_r(radius) {cout Circle - Constructor endl;}~Circle() {cout Circle - Destructor endl;}voidPerimeter() {cout Circle - Perimeter : 2 * 3.14 * _r endl;// 圆周率取 3.14}voidArea() {cout Circle - Perimeter : 3.14 * _r * _r endl;// 圆周率取 3.14}private:int_r;};Rectangular 派生类Rectangular 类继承于 “Shape” 类1234567891011121314151617181920classRectangular :publicShape {public:Rectangular(intlength,intwidth) :_len(length), _wid(width) {cout Rectangular - Contructor endl;}~Rectangular() {cout Rectangular - Destructor endl;}voidPerimeter() {cout Rectangular - Perimeter : 2 * (_len _wid) endl;}voidArea() {cout Rectangular - Area : _len * _wid endl;}private:int_len;int_wid;};main() 函数1234567891011121314intmain(){/* 创建 Circle 类对象 cir */Circle cir(3);cir.Perimeter();cir.Area();cout endl;/* 创建 Rectangle 类对象 rec */Rectangular rec(2, 3);rec.Perimeter();rec.Area();cout endl;return0;}运行结果1.创建派生类对象 基类的 Constructor 先执行然后执行子类的 Constructor2.析构派生类对象 派生类的 Destructor 先执行然后执行基类的 Destructor