类的构造函数可以在创建对象的时候调用类外定义的非成员函数吗

团团翻水水 2018-07-16 06:16:26
新人在学习C++Primer
第七章中定义了自己的sales_data类,里面有三个函数声明和定义都在类外,书上说是非成员接口函数
分别是
sales_data add(const sales_data&,const sales_data&);
std::ostream &print(std::ostream&,const sales_data&);
std::istream &read(std::istream&,sales_data&);
然后到 在类外部定义构造函数 的时候又有一段代码
sales_data::sales_data(std::istream &is) {read(is,*this)};
类可以这样做吗?
在创建对象调用构造函数的时候就能使用类内的函数?
这三个非成员接口函数到底是什么性质的函数?
...全文
49 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

64,681

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧