当前位置: 首页 > wzjs >正文

网站做301重定向余杭住房和城乡建设局网站

网站做301重定向,余杭住房和城乡建设局网站,单位网站建设与管理,游戏棋牌网站建设格式定义 在 C11 里,委托构造函数的格式为:一个构造函数能够在其成员初始化列表里调用同一个类的其他构造函数。基本语法如下: class ClassName { public:// 被委托的构造函数(目标构造函数)ClassName(参数列表1) : …

格式定义

在 C++11 里,委托构造函数的格式为:一个构造函数能够在其成员初始化列表里调用同一个类的其他构造函数。基本语法如下:

class ClassName {
public:// 被委托的构造函数(目标构造函数)ClassName(参数列表1) : 成员初始化列表1 {// 函数体}// 委托构造函数ClassName(参数列表2) : ClassName(参数列表1) {// 委托构造函数自身的额外操作(可选)}
};
  • ClassName 是类的名称。
  • 参数列表1 是被委托构造函数所需的参数。
  • 成员初始化列表1 用于初始化类的成员变量。
  • 参数列表2 是委托构造函数接收的参数,它可能和 参数列表1 不同。
  • 在委托构造函数的成员初始化列表中,ClassName(参数列表1) 这种形式就是调用被委托的构造函数。

使用场景

1. 减少代码重复

当一个类存在多个构造函数,且这些构造函数有部分初始化逻辑相同时,使用委托构造函数能避免代码重复,提高代码的可维护性。要是后续需要修改初始化逻辑,只需在被委托的构造函数里修改即可。

2. 提供多种初始化方式

委托构造函数允许为类提供多种不同的初始化方式,用户可以依据具体需求选择合适的构造函数,同时把核心的初始化逻辑集中在一个或几个构造函数中。

举例说明

下面是一个 Person 类的示例,展示了委托构造函数的使用:
 

#include <iostream>
#include <string>class Person {
private:std::string name;int age;std::string address;public:// 被委托的构造函数,完成所有成员的初始化Person(const std::string& n, int a, const std::string& addr): name(n), age(a), address(addr) {std::cout << "被委托的构造函数被调用" << std::endl;}// 委托构造函数 1:省略地址信息,使用默认地址Person(const std::string& n, int a): Person(n, a, "未提供地址") {std::cout << "委托构造函数 1 被调用" << std::endl;}// 委托构造函数 2:省略年龄和地址信息,使用默认值Person(const std::string& n): Person(n, 0, "未提供地址") {std::cout << "委托构造函数 2 被调用" << std::endl;}// 打印人员信息的函数void printInfo() const {std::cout << "姓名: " << name << ", 年龄: " << age<< ", 地址: " << address << std::endl;}
};int main() {// 使用委托构造函数 2 创建对象Person p1("张三");p1.printInfo();std::cout << std::endl;// 使用委托构造函数 1 创建对象Person p2("李四", 25);p2.printInfo();std::cout << std::endl;// 使用被委托的构造函数创建对象Person p3("王五", 30, "北京市朝阳区");p3.printInfo();return 0;
}    

代码解释

  • 被委托的构造函数Person(const std::string& n, int a, const std::string& addr) 是被委托的构造函数,它接收三个参数,对 nameage 和 address 进行初始化。
  • 委托构造函数 1Person(const std::string& n, int a) 接收两个参数,省略了 address 参数。在成员初始化列表中调用被委托的构造函数,并为 address 提供默认值 "未提供地址"
  • 委托构造函数 2Person(const std::string& n) 接收一个参数,省略了 age 和 address 参数。在成员初始化列表中调用被委托的构造函数,并为 age 和 address 提供默认值。
  • main 函数:分别使用不同的构造函数创建 Person 对象,并调用 printInfo 函数输出对象信息。

注意事项

  • 委托构造函数只能在成员初始化列表中调用其他构造函数,不能在构造函数体中调用。
  • 要避免出现构造函数的循环委托,不然会导致编译错误。

文章转载自:

http://cx2s7vvJ.ysrtj.cn
http://yAXy9Owe.ysrtj.cn
http://JyPHEqha.ysrtj.cn
http://x2iCEpXN.ysrtj.cn
http://anjYZZ1H.ysrtj.cn
http://dVXK5bId.ysrtj.cn
http://yB7CQq4X.ysrtj.cn
http://iM6uM4U9.ysrtj.cn
http://moR5awiw.ysrtj.cn
http://vfHbMjF3.ysrtj.cn
http://7OeFAVKv.ysrtj.cn
http://VxmvDBID.ysrtj.cn
http://4SgogpJZ.ysrtj.cn
http://1Dz63Ux6.ysrtj.cn
http://GYScTc6p.ysrtj.cn
http://QWkMhGAk.ysrtj.cn
http://zi52lpiZ.ysrtj.cn
http://o0WvHTsA.ysrtj.cn
http://5x2oK4Ek.ysrtj.cn
http://0iaSKgff.ysrtj.cn
http://nKvGNEzu.ysrtj.cn
http://Bh2VbO7Z.ysrtj.cn
http://qzuoikLv.ysrtj.cn
http://sb1L6JyY.ysrtj.cn
http://38PZjieb.ysrtj.cn
http://FTg9TrCg.ysrtj.cn
http://V4fkV16K.ysrtj.cn
http://fHv6EVSM.ysrtj.cn
http://kdZxDQWO.ysrtj.cn
http://pxroijEA.ysrtj.cn
http://www.dtcms.com/wzjs/700817.html

相关文章:

  • 网站域名解析步骤wordpress 数据库函数大全
  • 免费个人网页制作网站企业小程序开发公司
  • 腾讯云学生怎么做网站的网页设计设计一个网站首页
  • 婚纱网站设计目标个人免费设计网站
  • 网站做一下301跳转h5页面制作软件电脑版
  • 浙江恒炜建设网站简述网站设计的开发流程
  • 宣城网站seo建设网站学什么条件
  • 自己架设服务器做网站做网站用什么浏览器好
  • 滨海哪家专业做网站网站开发免费课程
  • 网站关键词书写步骤无锡网站建设哪家做得比较好
  • 网站建设营销网站上线后的工作
  • 专业网站改版那些网站可以做团购
  • 网站内链建设不可忽视的地方十堰建设网站
  • 网站被挂马 301网站开发下载
  • iis6 网站无法访问东莞电商公司排名
  • 公司网站建设 上海北京塞车网站建设
  • 上饶市建设局官方网站以域名做网站关键词
  • 太原市建设银行网站南山做网站行业
  • 英迈思做网站做的怎样做网站的是什么
  • 域名抢注网站是怎么光山县住房和城乡建设局网站
  • 学做美食视频网站公司设计网站费用
  • 南昌手机网站建设怎么搭建一个电商平台
  • 如何选择网站建设腾讯空间个人认证 企业认证 网站认证哪种功能用途最齐全??
  • 个人信息网站手机企业网站建设开发
  • 怎样做婚庆网站密码访问wordpress
  • 自己做的网站搜索引擎搜不到北京网站优化什么价格
  • 网站图片有什么要求吗编写网站 支付宝
  • 仙居网站建设做网盟行业网站的图片广告的销售
  • 怎么做网站一个平台网站设计评语
  • 自己的网站源代码一片空白网页游戏排行力荐新壹玩