www.cnblogs.com/ruiyqinrui

开源、架构、Linux C/C++/python AI BI 运维开发自动化运维。 春风桃李花 秋雨梧桐叶。“力尽不知热 但惜夏日长”。夏不惜,秋不获。@ruiY--秦瑞

python爬虫,C编程,嵌入式开发.hadoop大数据,桉树,onenebula云计算架构.linux运维及驱动开发.

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  2912 随笔 :: 9 文章 :: 51 评论 :: 185万 阅读

构造函数参数作为成员初始值,尽量避免使用同一对象的成员

X(int val):j(val),i(val);构造函数的参数作为成员函数参数默认实参和构造函数默认

Sales_data构造函数行为与只接受一个string实参的构造函数

class Sales_data{
public:
 //定义默认构造函数,令其与只接受一个string实参的构造函数功能相同
Sales_data(std::string s = "") : bookNo(s){}
//其他构造函数与之前一致
Sales_data(std::string s,unisgned cnt,double rev): bookNo(s),units_sold(cnt),revence(rev * cnt){}
Sales_data(std::istream &is) {read(is,*this);}           
}

Sales_data(std::istream &is)//构造函数参数显示其接受一个标准的输入流数据,构造函数函数体{read(is,*this)}//标准输入流,类对象的对象地址

 

构造函数的這种表示形式的含义

Sales_data(std::string s,unsigned cnt,double rev):bookNo(s),units_sold(cnt),revenue(rev * cnt){}
表示构造函数接收std::string,unsigned cnt,double rev3个参数,:后面的表示 构造函数初始化直接使用构造函数的参数;

Sales_data(std::string s = ""):bookNo(s){};同样是类对象成员数据初始化直接使用构造函数的参数;

delegating constructor委托构造函数使用它所属类的其他构造函数执行它自己的初始化或者说它自己的一些或是 全部职责委托给了其他构造函数构造函数成员初始值的列表及函数体类名后面紧跟圆括号括起来的参数列表,

复制代码
class Sales_Data{
public:
//非委托构造函数使用对应的实参初始化成员
Sales_data(std::string s,unsigned cnt,double price):bookNo(s),units_sold(cnt),revenue(cnt * price)
{}
//其余构造函数全部委托给另外一个构造函数
Sales_data(): Sales_data("",0,0){}
Sales_data(std::string s): Sales_data(s,0,0){}
Sales_data(std::istream &is) : Sales_data()
{
 read(is,*this);   
}
}
复制代码

不使用任何初始值定义非静态变量或数组,当对象被默认初始化或值被初始化时自动执行默认构造

试图以如下形式声明一个用默认构造函数初始化的对象,

 

posted on   秦瑞It行程实录  阅读(177)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
历史上的今天:
2014-06-07 puppet yum安装配置,简单证书维护
2014-06-07 puppet report import
2014-06-07 yum puppet dashboard
2014-06-07 puppet常用调试命令
www.cnblogs.com/ruiyqinrui
点击右上角即可分享
微信分享提示