构造函数
来源:互联网 发布:nginx 只允许内网访问 编辑:程序博客网 时间:2024/05/21 09:18
#include <iostream>#include <string>using namespace std;class Dog{//const 常量//引用类型,没有默认构造函数的类类型 只能用初始化列表Dog():i(10){}//{//i=10; //error//}private:const int i;};class Person{public://无构造函数,默认构造函数,一般要求必须写上构造函数Person(const string& nm,int year):name(nm),age(year) //初始化顺序随便写 不是初始化顺序 //定义成员决定顺序{}private:std::string name;int age;};class Sales_item{public://Sales_item():units_sold(0),revenue(0){} //可重载 自己写了构造函数,就不会创建(没有默认写)explicit Sales_item(std::istream& is){is>>*this;} //一个形参构造函数副作用 隐性转化 加上explicitexplicit Sales_item(const std::string& book=""):isbn(book),units_sold(0),revenue(0){}//可省略 //book=""Sales_item():units_sold(0),revenue(0){}bool same_isbn(const Sales_item &rhs) const{ return this->isbn == rhs.isbn; }friend std::istream& operator>>(std::istream&,Sales_item&); //友元函数 流输入操作符重载private:std::string isbn;unsigned units_sold;double revenue;};inline istream& operator>>(std::istream& in,Sales_item& s){double price;in>>s.isbn>>s.units_sold>>price;if(in)s.revenue=s.units_sold*price;elses=Sales_item();return in;}int main(){Sales_item p1;//不能 写成p1() 若就是一个函数了//explicit Sales_item p2("990-123");//p2.same_isbn("999988")return 0;}
0 0
- 构造函数
- 构造函数
- 构造函数
- 构造函数
- 构造函数
- 构造函数
- 构造函数
- 构造函数
- 构造函数
- 构造函数
- 构造函数
- 构造函数
- 构造函数
- 构造函数
- 构造函数
- 构造函数
- 构造函数
- 构造函数
- iphone ios 手势
- Android自定义控件实战——下拉刷新控件终结者:PullToRefreshLayout
- [深度分析] Python Web 开发框架 Bottle
- 改变视图后,如何找回菜单项。
- CI服务器Jenkins中添加clearcase插件
- 构造函数
- BOTTLE的高级技巧
- 自定义控件实战高级实用篇 ,仿淘宝商品浏览界面,图书阅读器平滑翻页,滚动选择器
- STL array的max_size方法(14)
- Python 扩展中的Py_BuildValue()函数
- functools.wraps
- gridview控件实现行变色
- POJ 1523 SPF (无向图求割点)
- What does functools.wraps do?