1.构造函数:>构造函数是一个特殊的、与类同名的成员函数,用于给每一个成员设置适当的初始值。>构造函数不能有返回值,函数名与类名同样。>缺省构造函数时,系统将自己主动调用该缺省构造函数初始化对象,缺省构造函数会将全部数据成员都初始化为零或 空。缺省构造函数是不带參数的构造函数。>创建一个对象时...
分类:
编程语言 时间:
2014-07-16 22:52:24
阅读次数:
283
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
c++基础知识 从一个基本的CMyString类讲起,分析了 构造函数 拷贝构造函数 析构函数 "="、"+="、"+"、左"++"、右"++"操作符重载 "<<"输出流友元函数重载 1、实现过程要关注内存泄露(析构)、非法输入值处理(“赋值重载”)、内存溢出异常处...
分类:
编程语言 时间:
2014-07-11 09:35:14
阅读次数:
251
翻译的是wikipedia关于copy constructor,地址:http://en.wikipedia.org/wiki/Copy_constructor...
分类:
其他好文 时间:
2014-07-05 10:36:42
阅读次数:
342