/**
*cppTest-6.2:复制构造函数测试
*
*author 炜sama
*/
#include<iostream.h>
#include<string.h>
class string{
private:
char *str;
public:
string(char *s)
{
str=new char[strlen(s)+1];
strcpy(str,s);
}
//用对象初始化新对象时使用
//如果注释这个函数运行时会报错!
string(string &a)//&不能漏!去掉的话编译错误!
{
str=new char[strlen(a.str)+1];
strcpy(str,a.str);
//a.str="xxxxx";
}
~string(){ delete str; }
void show(){ cout<<str<<endl; }
};
void main()
{
string s1="Beijing";
string s2=s1;
s1.show();
s2.show();
}
cppTest-6.2:复制构造函数测试
最新推荐文章于 2020-01-29 14:39:47 发布
本文通过一个具体的 C++ 类实现示例,介绍了复制构造函数的重要性及其如何在创建新对象时避免潜在的问题。展示了字符串类中复制构造函数的定义与使用,并解释了如果不正确地实现可能遇到的内存泄漏和其他问题。
324

被折叠的 条评论
为什么被折叠?



