博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
拷贝构造函数和赋值表达式
阅读量:5046 次
发布时间:2019-06-12

本文共 649 字,大约阅读时间需要 2 分钟。

1、用一个已存在的对象去构造一个不存在的对象(构造之前不存在),就是拷贝构造。用一个已存在的对象去覆盖另一个已存在的对象,就是赋值运算。

String(const char *str = NULL);// 普通构造函数

String(const String &other); // 拷贝构造函数

拷贝构造函数将在对象传值,返回值,抛出异常中被调用。

2、“引用”不可能是NULL,而“指针”可以为NULL

注意函数strlen返回的是有效字符串长度,不包含结束符‘\0’。函数strcpy则连‘\0’一起复制。

3、应该为所有包含动态分配成员的类都提供拷贝构造函数,析构函数,赋值运算符。

4、拷贝构造函数与赋值运算符

A b=a;   //拷贝构造函数调用

A b(a);   //拷贝构造函数调用

b =a;   //赋值运算符调用

5、对于一个类X, 如果一个构造函数的第一个参数是下列之一:

a) X&

b) const X&

c) volatile X&

d) const volatile X&

且没有其他参数或其他参数都有默认值,那么这个函数是拷贝构造函数。

原文:

http://blog.csdn.net/lwbeyond/article/details/6202256

http://baike.baidu.com/view/1266959.htm

转载于:https://www.cnblogs.com/mydomain/archive/2012/11/04/2753964.html

你可能感兴趣的文章
说说用C语言求根的那些事儿
查看>>
刀哥多线程同步任务作用gcd-07-sync_task
查看>>
9.22作业1
查看>>
Palindrome Partitioning
查看>>
Python学习总结之四 -- 这就是Python的字典
查看>>
python 数据类型-字符串-对象和方法
查看>>
ios 导航栏翻页的时候有黑边
查看>>
条件编译指令
查看>>
socket单工聊天工具
查看>>
【洛谷P2800又上锁妖塔】动态规划
查看>>
前端--jQuery
查看>>
洛谷.2219.[HAOI2007]修筑绿化带(单调队列)
查看>>
本地通知和推送通知编程指南(1)
查看>>
Android 对话框(Dialog)大全 建立你自己的对话框
查看>>
团队-象棋游戏-模块测试过程
查看>>
团队转会人员情况
查看>>
手势识别(点按,长按,轻扫)
查看>>
json数据结构和gson的比较
查看>>
BZOJ2654: tree
查看>>
【c# 学习笔记】继承
查看>>