随笔 - 19,  文章 - 0,  评论 - 4,  阅读 - 491

构造函数

类的一种特殊的成员函数 。当创造对象时自动执行 ,没有返回值包括( void),当没有显式定义时 ,系统默认生成构造函数。

  • 与类的命名相同。
  • 可以重载。
  • 可用于某些成员变量的初始化。
class test {
	public:
		test() {}; //与类的命名相同。
		test(int test_day) {
			_day = test_day;
		}; //可以重载
	private:
		int _day {};
}

成员初始化列表

  • 比在构造函数主体中赋值是更高效的方式。
class test {
	public:
		test(int i ): _day(i) {};
		test(int i , int j): _day(i) ,_month(j) {}; //可以重载。
	private:
		int _day {};
		int _month {};
}
  • 默认构造函数通常没有参数,但它们可以具有带默认值的参数。
class test {
	public:
		test(int i = 1) : _day(i) {}; // 默认构造函数通常没有参数,但它们可以具有带默认值的参数。
	private:
		int _day {};
}

对于初始化来说 ,我的建议是没有特殊情况下不用借助构造函数直接定义的时候就初始化 int _day {1};

析构函数

类的一种特殊的成员函数 ,与构造函数相对。没有返回值包括( void) ,当没有显示定义时 ,系统默认生成析构函数。

  • 类的命名前加上 ~
  • 没有参数。
  • 释放对象的资源。
class test {
	public:
		test() {}; 
		~test(); //析构函数。
	private:
		int _day {};
}

作用范围

与变量的作用范围相似。每当不需要 ,便释放资源。

posted on   嗯嗯好傅  阅读(35)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示