复制构造函数和赋值操作符
来源:互联网 发布:淘宝过了15天怎么退款 编辑:程序博客网 时间:2024/05/17 04:39
#include <iostream>#include <string>#include <vector>using namespace std;class Sales_item{public:Sales_item():units_sold(0),revenue(0.0){}Sales_item(const std::string& book):isbn(book),units_sold(0),revenue(0.0){}//没写默认创建//复制构造函数//当一个类 有指针 动态分配内存的时候 必须自己写Sales_item(const Sales_item& orig):isbn(orig.isbn),units_sold(orig.units_sold),revenue(orig.revenue){}//重载赋值操作符Sales_item& operator=(const Sales_item& rhs){isbn=rhs.isbn;units_sold=rhs.units_sold;revenue=rhs.revenue;return *this;}private:std::string isbn;unsigned units_sold;double revenue;};Sales_item foo(Sales_item item){Sales_item temp;temp=item;return temp;}//指针情况class PointTest{public:PointTest(const PointTest& other):ps(new std::string(*(other.ps))),i(other.i),d(other.d){}PointTest& operator=(const PointTest& rhs){ps=new std::string;*ps=*(rhs.ps);i=rhs.i;d=rhs.d;return *this;}private:std::string *ps;int i;double d;};int main(){Sales_item a;Sales_item b("0-123456-000");Sales_item c(b);a=c;Sales_item d=string("01234-394-001");//调用了的是构造函数//默认构造函数-复制构造函数-默认构造函数-赋值构造函数-复制构造函数-赋值构造函数Sales_item ret;ret=foo(d);vector<Sales_item> svec(5);//默认构造 5次复制构造函数//Sales_item prim[]={string("000123"),string("00000888"),string("00009999")};return 0;}
0 0
- 复制构造函数和赋值操作符
- 复制构造函数和赋值操作符
- 复制构造函数和赋值操作符
- 复制构造函数和赋值操作符
- 复制构造函数和赋值操作符
- 聊聊C++中复制构造函数和赋值操作符
- C++复制构造函数和赋值操作符的区别
- C++复制构造函数和赋值操作符的区别
- C++ 复制构造函数和赋值操作符
- 浅谈c++复制构造函数和赋值操作符。
- C++ 复制构造函数和赋值操作符
- c++复制构造函数和赋值操作符区别
- 默认构造函数、构造函数、复制构造函数和赋值操作符
- 默认构造函数、构造函数、复制构造函数和赋值操作符
- 复制构造函数或赋值操作符
- 复制构造函数 赋值操作符
- 赋值操作符与复制构造函数
- 区别构造函数,复制构造函数和赋值操作符函数
- 闲聊ROOT权限——ROOT权限的前世今生
- 一个隐蔽的Bug
- Xms Xmx PermSize MaxPermSize 区别
- hibernate练习之双向关联一对多
- OpenWRT平台搭建及简单应用
- 复制构造函数和赋值操作符
- ffmpeg的编译、安装及使用(for x86,for arm)
- C++中的三种继承public,protected,private详细解析
- MSSQL2005通日志恢复Delete数据
- oracle使用随机数插入表数据
- 请尝试将HTTP端口更改为8733或以管理员身份运行
- 我不知道
- 后会无期
- 哈希表(散列表)