c++:深复制
2016-06-15 16:37
246 查看
#include <iostream>
#include<cstring>
using namespace std;
class A
{
private:
char *a;
public:
A(char *b)
{
a=new char[strlen(b)+1]; //深复制的重要所在
strcpy(a,b);
}
~A()
{
delete []a;
}
void output()
{
cout<<a<<endl;
}
};
int main()
{
A a("good morning,everyone!");
a.output();
A b("good afternoon,everyone!");
b.output();
return 0;
}
#include<cstring>
using namespace std;
class A
{
private:
char *a;
public:
A(char *b)
{
a=new char[strlen(b)+1]; //深复制的重要所在
strcpy(a,b);
}
~A()
{
delete []a;
}
void output()
{
cout<<a<<endl;
}
};
int main()
{
A a("good morning,everyone!");
a.output();
A b("good afternoon,everyone!");
b.output();
return 0;
}
相关文章推荐
- C++ 构造/析构函数中调用虚函数的问题
- C++实践——存储班长信息的学生类
- C++ 函数的扩展③--函数重载
- C++继承
- CString与char *互转总结
- C++ 函数的扩展②
- 微视图像(microview)gige相机开发手记(2)
- CString,string,char*之间的转换
- C++中的继承
- Effective C++ 笔记2(构造,析构,赋值)
- [leetcode] 【字符串】 38. Count and Say
- C++ 函数的扩展①
- C++ vector和list的区别
- [leetcode] 【字符串】13. Roman to Integer
- C语言三种预处理功能
- C++中关于全局对象的初始化顺序
- memset
- C++程序设计语言练习7.9 迭代器的使用
- C—文件操作
- C++中引用(&)的用法和应用实例