C++继承与派生——(5)继承中的构造函数及其调用顺序

归纳编程学习的感悟,
记录奋斗路上的点滴,
希望能帮到一样刻苦的你!
如有不足欢迎指正!
共同学习交流!
🌎欢迎各位→点赞 👍+ 收藏⭐ + 留言​📝
缺乏明确的目标,一生将庸庸碌碌!

一起加油!

继承中的构造函数及其调用顺序示例:

#pragma once
#include <iostream>
using namespace std;
enum CRL
{
	BLACK,WHITE,GREEN,YELLOW,BROWN,RED,ORANGE
};
class Shape
{
private:
	CRL color;
	int Pos_x, Pos_y;
public:
	Shape(int px=0, int py=0, CRL cor=BLACK) {
		Pos_x = px;
		Pos_y = py;
		color = cor;
		cout << "Construct Shape " << endl;
	}
	int Get_x() {
		return Pos_x;
	}
	int Get_y() {
		return Pos_y;
	}
	double GetArea() {
		return 0;
	}
	double GetPerimeter() {
		return 0;
	}
	CRL GetColor() {
		return color;
	}
};

#pragma once
#include"Shape.h"
class Rectangle:public Shape
{
private:
	int w;
	int h;
public:
	Rectangle(int px , int py , int pw , int ph , CRL cor= BLACK):Shape(px,py,cor) {
		w = pw;
		h = ph;
		cout << "Construct Rectangle" << endl;
	}
	Rectangle(int pw , int ph ) {
		w = pw;
		h = ph;
		cout << "Construct Rectangle" << endl;
	}
	int GetWidth() {
		return w;
	}
	int GetHeight(){
		return h;
	}
	double GetArea() {
		return w * h;
	}
	double GetPerimeter() {
		return 2 * (w + h);
	}
};
#include"Rectangle.h"
#include<string>
int main() {
	CRL color[7] = { BLACK,WHITE,GREEN,YELLOW,BROWN,RED,ORANGE };
	Rectangle r1(3, 4);
	cout << "矩形1的信息: " << endl;
	cout << "矩形1的位置:(" << r1.Get_x() << "," << r1.Get_y() << ")" << endl;
	cout << "矩形1的面积:" << r1.GetArea() << endl;
	cout << "矩形1的周长:" << r1.GetPerimeter() << endl;
	cout << "矩形1的颜色:" << color[static_cast<int>(r1.GetColor())] << endl;
	Rectangle r2(15, 15, 8, 10, RED);
	cout << "矩形2的信息: " << endl;
	cout << "矩形2的位置:(" << r2.Get_x() << "," << r2.Get_y() << ")" << endl;
	cout << "矩形2的面积:" << r2.GetArea() << endl;
	cout << "矩形2的周长:" << r2.GetPerimeter() << endl;
	cout << "矩形2的颜色:" << color[static_cast<int>(r2.GetColor())] << endl;
	return 0;
}

        以上就是我对C++继承与派生——(5)继承中的构造函数及其调用顺序的理解,希望本篇文章对你有所帮助,也希望可以支持支持博主,后续博主也会定期更新学习记录,记录学习过程中的点点滴滴。如果有不懂和发现问题的小伙伴,请在评论区说出来哦,同时我还会继续更新对C++继承与派生的理解,请持续关注我哦!!! 

  • 13
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梵豪

你的鼓励将是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值