社区
C++ 语言
帖子详情
拷贝构造函数的使用场合是什么??
cpbuaa
2005-11-22 02:45:20
rt
请用程序说明,万分感谢!
...全文
393
10
打赏
收藏
拷贝构造函数的使用场合是什么??
rt 请用程序说明,万分感谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
nyingchi
2005-11-22
打赏
举报
回复
同意楼上的
拷贝构造函数包括 浅拷贝 和深拷贝
两个对象都拥有同一个资源 就是 浅拷贝
深拷贝是指,当对一个对象创建时候,分配了资源,那么进行拷贝的时候, 不但要复制对象的空间,还需要复制对象的资源(heap空间)
iGray
2005-11-22
打赏
举报
回复
拷贝构造函数:1.在声明一个对象的同时,用另一个对象将其初始化时
class A{};
A b;
A a = b; //拷贝构造,与下面的情形完全相同。因为是在定义时赋值。
A a(b);
2.单参数构造函数,如果没有explicit,可用于隐式类型转换。
class B{
B(A& a);
};
foo(B b){}; //函数foo定义
class a;
foo(a); //函数调用,拷贝构造用于隐式转换
dragonzxh
2005-11-22
打赏
举报
回复
在用一个类对象初始化该类的另一个对象时使用...
moany
2005-11-22
打赏
举报
回复
拷贝构造函数和赋值不一样,建议看看《深度探索C++对象模型》
有三种情况,会以一个object的内容作为另一个object的初值,即调用到拷贝构造函数:
class X {...};
X x;
1、明确的以一个object的内容作为另一object的初值
X xx=x;
2、但object被当作参数交给某个函数时
extern void foo(X x);
void bar()
{
X xx;
foo(xx);
}
3、以及当函数传回一个object时
X foo_bar()
{
X xx;
...
return xx;
}
cdo
2005-11-22
打赏
举报
回复
个人感觉和附值没多大不同。
csucdl
2005-11-22
打赏
举报
回复
class classname
{};
void Foo(classname instance4)
{}
classname instance1; //默认构造函数
classname instance2 = instance1;//拷贝构造函数
classname instance3(instance1); //拷贝构造函数
Foo(instance1); //拷贝构造函数
yuanchuang
2005-11-22
打赏
举报
回复
如定义了一个类为MyClass;
定义的对象实例的时候
MyClass AClass(AnotherClass)
或MyClass AClass = MyClass(AnotherClass)
cunsh
2005-11-22
打赏
举报
回复
函数的参数传递时.
void func(A a); //调用func的时候.参数a的初始化就调用了拷贝构造函数呀.
楼长要记得给我分呀~
2004csharp
2005-11-22
打赏
举报
回复
涉及到资源如堆、输入输出设备等时,需要深拷贝
oyljerry
2005-11-22
打赏
举报
回复
拷贝构造函数里面要自己实现深拷贝
拷贝构造函数
使用
场合
1.
拷贝构造函数
一般用在以下三种
场合
: ①. 函数的参数是一个对象,并且是值传递方式 ②. 函数的返回值是一个对象,并且是值传递方式 ③. 用一个对象初始化另外一个对象。 当函数的参数或者返回值...
拷贝构造函数
的4中应用场景
对象的不同
使用
方式会导致
拷贝构造函数
在不同时期进行调用,理解
拷贝构造函数
的调用时机有助于我们认识程序运行机制,帮助我们编写更高效的程序。 直接上代码: #include <iostream> using ...
C++
拷贝构造函数
的四种应用场景Demo01_02
C++
拷贝构造函数
的四种应用场景Demo01_02
构造函数与
拷贝构造函数
但是我们这里用构造函数辅助说明
拷贝构造函数
,主要说说
拷贝构造函数
的声明,用途和
使用
注意事项。 众所周知,构造函数是一个初始化类对象的函数,即使不显示调用,编译器也会隐式调用构造函数初始化类对象。同样的...
C++_复习03(
拷贝构造函数
的三种调用场景)
一、
拷贝构造函数
的定义及作用
拷贝构造函数
是一种特殊的构造函数,函数的名称必须和类名称一致,它必须的一个参数是本类型的一个引用变量。 拷贝函数用于对象的初始化。 例:一个简单得拷贝函数如下 class Test...
C++ 语言
65,179
社区成员
250,527
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章