c++基础语法
2026/7/30 9:36:44 网站建设 项目流程

构造函数

//入门写法 Point(int xVal, int yVal) { x = xVal; // 默认构造 x(0) -> 赋值 x(xVal) y = yVal; // 默认构造 y(0) -> 赋值 y(yVal) }

为何这个说是入门的写法,有如下原因:

  • 编译器必须先隐式调用 x 和 y 的默认构造函数(把 0 塞进去),然后再执行 = 进行赋值操作。做了两次多余的工作(先构造,再覆盖)。
  • 语法限制:有些变量“不赋值就没法用”,如果成员是 const 常量、引用(&),或者是没有默认构造函数的自定义类对象,它们必须在定义时被初始化,不能在后面赋值。
    class Player { const int id; // const 常量 int& gold; // 引用 public: Player(int uid, int g) { id = uid; // ❌ 报错!const 变量不能被赋值 gold = g; // ❌ 报错!引用必须一开始就绑定 } };

所以c++提供了一个更高效的写法,这个只针对构造函数有效

Point(int xVal, int yVal) : x(xVal), y(yVal) {}

这个冒号 : 引导的语法叫做“成员初始化列表”

各变量类型


需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询