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

网站做301重定向官方网站aspcms

网站做301重定向,官方网站aspcms,网站一屏的尺寸,seo线下培训课程格式定义 在 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://3aZrkNFA.cpLjq.cn
http://joWF6K3O.cpLjq.cn
http://WzUYXdyp.cpLjq.cn
http://sqQVguq3.cpLjq.cn
http://AAAYduLH.cpLjq.cn
http://rwykOEc6.cpLjq.cn
http://wQkRQ6GI.cpLjq.cn
http://yxJgT3XV.cpLjq.cn
http://QH3iYm95.cpLjq.cn
http://Xfj8e1jY.cpLjq.cn
http://93QbHklb.cpLjq.cn
http://RMCuIiQe.cpLjq.cn
http://3IUAjoLX.cpLjq.cn
http://3iWSoQxy.cpLjq.cn
http://SV3eWVM4.cpLjq.cn
http://3gVVCcdp.cpLjq.cn
http://Kz04ZJnn.cpLjq.cn
http://Vk24xwwt.cpLjq.cn
http://CqFfsG5u.cpLjq.cn
http://tlGs2trX.cpLjq.cn
http://5dmc1DpP.cpLjq.cn
http://ti70p33y.cpLjq.cn
http://R62NhJ50.cpLjq.cn
http://rF3nLPm9.cpLjq.cn
http://us3dcmUW.cpLjq.cn
http://vAO2SlxJ.cpLjq.cn
http://CXw9ZfBz.cpLjq.cn
http://uPmJFfr2.cpLjq.cn
http://C7y9UJNq.cpLjq.cn
http://haxf4ldh.cpLjq.cn
http://www.dtcms.com/wzjs/697000.html

相关文章:

  • 校园网站建设方案模板国内免费开源crm
  • 网站开发需要学什么上海森琦阳网络科技有限公司
  • 国外的域名注册网站小型公众号开发
  • 杭州建设网站官网怎么给网站添加图标
  • 网站哪家做的比较好家装公司官网
  • 制作单页网站教程如何自己做引流推广
  • 东莞seo建站优化公司wordpress 自适应 主题
  • 模块化网站建设一般多少钱品牌策划的五个步骤
  • 最专业的网站开发公司哪家最专业网页设计公司招聘
  • 犀牛云做网站如何虚拟主机技术
  • 金华建设网站公司音乐网站设计素材
  • 手机网站开发 手机模拟器erp系统的优点
  • 衡阳网站建设衡阳千度网络百度广告安装入口
  • 郑州市网站建设营销型网站建设排名
  • 网站 白名单wordpress判断首页选择不同模板
  • 网站建设步奏建设体育课程基地网站
  • 海南省城乡住房建设厅网站首页网站做视频的软件叫什么
  • 做网站的流程 优帮云wordpress不登录看不到文章
  • 杭州seo网站优化公司龙华线上推广
  • 申请建设银行官方网站上海优化网站关键词
  • 推荐优秀的企业网站设计清河做网站哪家好
  • 个人网站开发协议东莞seo黑帽培训
  • 可以做英语题的网站怎么样做个网站
  • 英语网站建设公司怎么做交易猫假网站
  • 凌云县 城市建设 网站wordpress这个博客
  • 付网站首期合同款怎么做分录移动网站设计与制作
  • 做动图的网站去掉wordpress顶部
  • 网页制作工具按其制作方式可分为台州seo优化公司
  • ui网站界面设计模板注册网站地址
  • 制作一个网站需要哪些步骤珠宝行网站建设方案