1.默认拷贝构造函数 1.1 编译器自动为我们合成一个拷贝构造函数。A(const A &). 1.2 对象复制的时机: a) 显式复制。 b) 使用对象做形参 c) 使用对象做返回值 d) 往容器中放入对象 #include #include #include using na...
分类:
编程语言 时间:
2014-07-18 15:32:55
阅读次数:
312
1. 重载操作符
赋值操作符的返回类型应该与内置类型赋值运算返回的类型相同。内置类型的赋值运算返回对右操作数的引用,因此,赋值操作符也返回对同一类类型的引用。
例如,Sales_item的赋值操作符可以声明为:
class Sales_item {
public:
// other members asbefore
// equivalent to thesynthesized a...
分类:
编程语言 时间:
2014-07-17 15:04:54
阅读次数:
320
4.已知String类的原型是: class String { public: String(const char* str = NULL); //普通的构造函数 String(const String& that); //拷贝构造函数 ~String(void);//析构函数 Stri...
分类:
编程语言 时间:
2014-07-16 20:43:28
阅读次数:
196
在
C++ 中,赋值和拷贝是不同的,
1)拷贝构造函数是对未初始化的内存进行初始化操作
2)而赋值是对现有的已经初始化的对象进行操作。(这里我对“已经初始化”的理解是已经调用了构造函数,并且构造函数体可以未执行,只要调用到即可),赋值函数应该给所有数据成员都初始化。
3)重点:包含动态分配成员的类
应提供拷贝构造函数,并重载"="赋值操作符。...
分类:
其他好文 时间:
2014-07-16 13:42:16
阅读次数:
186
在类定义中,如果没有提供自己的拷贝构造函数,则C++提供一个默认拷贝构造函数。
C++提供的默认拷贝构造函数的工作方法是:完成一个成员一个成员的拷贝。如果成员是类对象,则条用其拷贝构造函数或者默认拷贝构造函数。...
分类:
编程语言 时间:
2014-07-15 12:48:20
阅读次数:
241
拷贝控制示例
那么接下来尽情欣赏这个案例吧!!!
/**
* 功能:拷贝控制示例
* 时间:2014年7月14日10:57:39
* 作者:cutter_point
*/
#include
#include
#include
#include
using namespace std;
class Folder;
/**
Message类
*/
class Message
{
fr...
分类:
编程语言 时间:
2014-07-14 17:39:36
阅读次数:
293
交换操作
class HasPtr
{
friend void fun2();
friend void swap(HasPtr&, HasPtr&);
public:
// HasPtr()=default;
HasPtr(const string &s=string()):ps(new string(s)), i(0){}
//对ps指向的stri...
分类:
编程语言 时间:
2014-07-14 17:18:06
阅读次数:
314
拷贝控制和资源管理
13.2.1行为像值的类
*定义一个拷贝构造函数,完成string的拷贝,而不是拷贝指针
*定义一个析构函数来释放string
*定义一个拷贝赋值运算符来释放对象当前的string,并从右侧运算对象拷贝string
class HasPtr
{
public:
HasPtr(const string &s=string()):ps(new ...
分类:
编程语言 时间:
2014-07-13 13:42:44
阅读次数:
214
拷贝、赋值与销毁(1)
13.1.1拷贝构造函数
/**************************************
13.1.1拷贝构造函数
**************************************/
class Foo1
{
public:
Foo1(); //默认构造函数
Foo1(const Foo1&); ...
分类:
编程语言 时间:
2014-07-13 00:10:38
阅读次数:
379
第五章 操作符和表达式
这一章如果没做过玩过单片机、汇编的话,读起来可能比较吃力,尤其是在移位运算符、位运算符应用上。另外多注意一下左值和右值的理解。
总结:
算术操作符、赋值操作符、关系操作符、条件操作符。
短路求值(short-circuited evalution):如||这样的二目操作符,如果它的左操作数是真,右操作数便不再求值。带来的后果是如果右操作数的数组下标不...
分类:
其他好文 时间:
2014-07-12 22:42:37
阅读次数:
226