为my_string类创建复制构造函数copy constructor ,拷贝函数名和类同名
2024-10-21 17:41:11
为下面的my_string类创建一个复制构造函数,并将定义该类的代码提交。
my_string类的定义:
class my_string {
char *s;
public:
my_string(char *str) {
s = new char[strlen(str)+1];
strcpy(s, str);
}
~my_string() {
if(s) delete [] s;
cout << "Freeing s\n";
}
void show() { cout << s << "\n"; }
};
裁判测试程序样例:
#include <iostream>
#include <cstring>
using namespace std;
// 你提交的代码将被嵌入到这里
int main()
{
char str[80];
cin>>str;
my_string obj(str);
my_string ob1(obj);
my_string ob2=ob1;
ob1.show();
ob2.show();
return 0;
}
输入样例:
ByeBye
输出样例:
ByeBye
ByeBye
Freeing s
Freeing s
Freeing s
代码如下:
#include <iostream>
#include <cstring>
using namespace std;
class my_string {
char *s;
public:
my_string(char *str)
{
s = new char[strlen(str)+];
strcpy(s, str);
}
my_string(const my_string &obj) //复制构造函数
{
s = new char[strlen(obj.s)+];
strcpy(s,obj.s);
}
~my_string() {
if(s) delete [] s;
cout << "Freeing s\n";
}
void show() { cout << s << "\n"; }
}; int main()
{
char str[];
cin>>str;
my_string obj(str); my_string ob1(obj);
my_string ob2=ob1; ob1.show();
ob2.show();
}
最新文章
- MODI与VB6
- Python安装时报缺少DLL的解决办法
- 1_UILabel
- xml note
- Android中的各种单位
- Win7平台下React-Native开发之Android项目打包发布流程
- JSONP的小示例
- java 开发, jdk 1.6 官方下载地址
- 开发板上修改时间方法date命令【转】
- Yii 权限分级式访问控制实现(非RBAC法)
- 将汉字转化为拼音,正则表达式和得到汉字的Unicode编码
- 手把手教你从 Core Data 迁移到 Realm
- 队列详解及java实现
- oracle的在没有安装服务端连接远处服务端的方法
- Java之集合(十二)TreeMap
- 对/proc/cpuinfo文件下的各个参数的说明及实践
- scala学习6--collection
- Web测试系列之测试工具
- MyBatis框架的使用及源码分析(九) Executor
- [BZOJ1494]生成树计数