C++|带参数的构造函数
基础语法而已。
#include <iostream>
using namespace std;
class Demo
{
public:
Demo()
{
x = 0;
cout << "Demo 的默认构造函数!" << x << endl;
}
Demo(int i)
{
x = i;
cout << "Demo 的带一个参数的构造函数!!" << x << endl;
}
~Demo()
{
cout << "Demo 的析构函数!" << x << endl;
}
int get_x()
{
return x;
}
void set_x(int i)
{
x = i;
}
private:
int x;
};
class Rectangle
{
public:
Rectangle()
{
x = 1000;
cout << "Rectangle 的默认构造函数!" << x << endl;
}
Rectangle(int i, int j, int k):x(i), width(j), length(k)
{
cout << "Rectangle 的带三个参数的构造函数!" << "长方形的面积 b 为:" << length.get_x() * width.get_x() << endl;
}
~Rectangle()
{
cout << "Rectangle 的默认析构函数!" << x << endl;
}
int area()
{
return length.get_x() * width.get_x();
}
private:
Demo length;
Demo width;
int x;
};
int main()
{
Rectangle rec(100, 200, 300);
cout << "\n=========\n" << endl;
Rectangle *rec1 = new Rectangle(100, 200, 300);
delete rec1;
return 0;
}
输出:
Demo 的带一个参数的构造函数!!300
Demo 的带一个参数的构造函数!!200
Rectangle 的带三个参数的构造函数!长方形的面积 b 为:60000
=========
Demo 的带一个参数的构造函数!!300
Demo 的带一个参数的构造函数!!200
Rectangle 的带三个参数的构造函数!长方形的面积 b 为:60000
Rectangle 的默认析构函数!100
Demo 的析构函数!200
Demo 的析构函数!300
Rectangle 的默认析构函数!100
Demo 的析构函数!200
Demo 的析构函数!300
参考:《范磊:C++》P153
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了