网站建设公司知名企业,北京网站建设外包公司排名,怎么搭建一个完整的网站,网站备案不注销有什么后果构造函数的作用
构造函数的主要任务是初始化对象#xff0c;而不是创建对象#xff08;对象的内存空间在构造函数被调用前已经分配好#xff09;。
构造函数特性 命名规则#xff1a;函数名必须与类名完全相同。 返回值#xff1a;构造函数没有返回值类型#xff08;连…
构造函数的作用
构造函数的主要任务是初始化对象而不是创建对象对象的内存空间在构造函数被调用前已经分配好。
构造函数特性 命名规则函数名必须与类名完全相同。 返回值构造函数没有返回值类型连void都没有。 自动调用在创建对象时编译器会自动调用对应的构造函数。 重载能力 构造函数可以重载相同函数名不同参数列表 无参构造函数的调用要注意语法 cpp Date d1; // 正确调用无参构造函数
Date d2(2015, 1, 1); // 调用带参构造函数// 错误示例会被解析为函数声明
Date d3(); // 声明了一个返回Date对象的函数d3 默认生成规则 如果类中没有显式定义任何构造函数编译器会自动生成一个无参的默认构造函数 一旦用户显式定义了任何构造函数编译器将不再自动生成默认构造函数 内置类型初始化问题 对于内置类型int, double, char等默认构造函数不会进行有效初始化。编译形成的构造函数没有内置类型的赋值指令值是原先开辟空间时残留下的值 C11补丁可以在声明成员变量时提供默认值编译器会自动添加赋值代码 如_x(10) 使构造函数编译后内置类型有对应赋值指令 cpp class Date {int year 1970; // 提供默认值int month 1;int day 1;
}; 在 C 中内置类型如 int、float、double、char、指针等没有构造函数它们的初始化完全依赖编译器在底层生成赋值指令。 默认构造函数定义 任何可以被无参调用的构造函数都是默认构造函数 包括 无参构造函数 全缺省参数的构造函数 编译器自动生成的构造函数