会员
周边
众包
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
Gavin
定义和赋值的区别 构造函数和拷贝构造函数
type a;
type b=a; //调用拷贝构造函数
type d(a); //调用拷贝构造函数
type c;
c=a ; //赋值语句,调用默认构造函数,重载=,改变行为.
class
ClsA
{
public
:
char
*
Name;
bool
Sex;
ClsA(
char
*
v,
bool
sex)
{
cout
<<
"
构造函数
"
<<
endl;
if
(v)
{
Name
=
new
char
[strlen(v)
+
1
];
strcpy(Name,v);
}
else
{
Name
=
NULL;
}
Sex
=
sex;
}
~
ClsA()
{
cout
<<
"
析构函数
"
<<
endl;
delete[] Name;
}
ClsA(
const
ClsA
&
A)
{
cout
<<
"
拷贝构造函数
"
<<
endl;
if
(A.Name)
{
Name
=
new
char
[strlen(A.Name)
+
1
];
strcpy(Name,A.Name);
}
else
{
cout
<<
"
A.Name is NULL
"
;
}
Sex
=
A.Sex;
}
//
ClsA& operator = (const ClsA& R)
//
{
//
cout<<"operator : ="<<endl;
//
delete[] Name;
//
if(R.Name)
//
{
//
Name = new char[strlen(R.Name)+1];
//
strcpy(Name,R.Name);
//
}
//
else
//
{
//
cout<<"R.Name is NULL";
//
}
//
Sex = R.Sex;
//
//
return *this;
//
//
}
}
;
posted on
2006-11-27 13:31
YZG
阅读(
377
) 评论(
1
)
编辑
收藏
举报
刷新页面
返回顶部
导航
博客园
首页
新随笔
联系
订阅
管理
公告