C++ 复制构造函数和赋值操作符
来源:互联网 发布:unity3d教程pdf 编辑:程序博客网 时间:2024/05/17 04:27
1、如果没有写复制构造函数和赋值操作符,C++会给我们自动写上,一般情况下都能正常工作,但是对于数据成员有指针的情况下,不能正确地复制,就需要手动去写。
2、复制构造函数的形参一般大多数情况都有const,而且必须为引用。
例如:
Sales_item(const Sales_item &orig):isbn(orig.isbn),units_sold(orig.units_sold),revenue(orig.revenue){}
3、赋值操作符
Sales_item& operator=(const Sales_item &rhs)
{
isbn = rhs.isbn;
units_sold = rhs.units_sold;
revenus = rhs.revenue;
return *this;
}
4、形参和返回值如果不是引用的类型,就会调用拷贝构造函数。
5、vector<Sales_item> svec(5);//先调用一次默认构造函数,再调用五次复制构造函数
6、数组元素是类类型,就会调用普通构造函数。
Sales_item primer_eds[] = {string("0-201"),string("0-202"),string("0-203"),Sales_item()};//都是普通构造函数
7、
class NoName
{
public:
NoName(const NoName& other):pstring(new std::string(*(other.pstring))){}//复制的是指针所指向的值,如果是默认的复制构造函数则会复制指针,因此要自己写
private:
std::string *pstring;
}
- 复制构造函数和赋值操作符
- 复制构造函数和赋值操作符
- 复制构造函数和赋值操作符
- 复制构造函数和赋值操作符
- 复制构造函数和赋值操作符
- 聊聊C++中复制构造函数和赋值操作符
- C++复制构造函数和赋值操作符的区别
- C++复制构造函数和赋值操作符的区别
- C++ 复制构造函数和赋值操作符
- 浅谈c++复制构造函数和赋值操作符。
- C++ 复制构造函数和赋值操作符
- c++复制构造函数和赋值操作符区别
- 默认构造函数、构造函数、复制构造函数和赋值操作符
- 默认构造函数、构造函数、复制构造函数和赋值操作符
- 复制构造函数或赋值操作符
- 复制构造函数 赋值操作符
- 赋值操作符与复制构造函数
- 区别构造函数,复制构造函数和赋值操作符函数
- What is the difference between DPI (dots per inch) and PPI (pixels per inch)?
- SQL——处理行的累加
- 【spring-bean】浅谈Spring的依赖注入(基础)
- 【HNOI2004】宠物收养所 平衡树
- windows下 Coreseek与sphinx 配置
- C++ 复制构造函数和赋值操作符
- struts2零配置详解(struts2-Convention+Plugin 中文)
- POJ测试数据合集
- Android实现类似ListView模式的回收和更新机制的瀑布流
- Linux kernel 版本号被记上了一个后缀"+" (plus sign)
- linux5.4下面安装ORACLE 10G RAC注意事项
- 杭电ACM 二 数学求模
- 正则表达式(候选模式匹配)
- 音乐播放器开发记录