实现string的构造函数,析构函数,拷贝构造函数
来源:互联网 发布:ip切换器软件 编辑:程序博客网 时间:2024/05/21 11:23
1.实现String类的头文件String.h
#ifndef STRING_H
#define STRING_H
#include <string.h>
class String
{
public:
String(const char *str=NULL);
String(const String &str);
~String();
String &operatot= (const String &str);
void ShowString();
private:
char *_pMy_Data;
}
2.实现String类的函数实现String.cpp
#include "String.h"
#include <assert.h>
String::String(const char *str)
{
if(NULL==str)
{
_pMy_Data=new char[1];
*_pMy_Data='\0';
}
else
{
int length=strlen(str);
_pMy_Data=new char[length+1];
strcpy(_pMy_Data,str);
}
}
String::~String()
{
delete[] _pMy_Data;
}
String::String(const String &strObj)
{
int length=strlen(strObj._pMy_Data);
_pMy_Data=new char[length+1];
strcpy(_pMy_Data,strObj._pMy_Data);
}
String &String::operator= (const String &strObj)
{
if(this==&strObj)
return *this;
delete [] _pMy_Data;
int length=strlen(strObj._pMy_Data);
_pMy_Data=new char[length+1];
strcpy(_pMyData,strObj._pMy_Data);
return *this;
}
#include <iostream>
void String::ShowString()
{
std::cout<<this->_pMy_Data<<std::endl;
}
3.主程序函数main.cpp
#include <stdio.h>
#include <stdlib.h>
#include "String.h"
int main()
{
String AD;
char *p="ASCD";
String B(p);
AD.ShowString();
AD=B;
AD.ShowString();
getchar ();
return 0;
}
4.输出
ASCD
5.实现自定义的myStrcpy()
char *myStrcpy(char *dest,const char *src)
{
assert( (dest!=NULL) && (src!=NULL) );
char *temp=dest;
while( ( *dest++ = *src++) !='\0')
{}
*dest='\0';
return temp;
}
- String构造函数 拷贝构造函数 析构函数 赋值构造函数的实现
- 类String的 构造函数、拷贝构造函数、析构函数、赋值函数实现
- 自主编程实现String类的构造函数,析构函数,拷贝构造函数,赋值函数
- 实现string的构造函数,析构函数,拷贝构造函数
- string类的构造函数,析构函数,拷贝构造函数和赋值构造函数
- String的构造函数拷贝构造函数
- string函数的构造函数,析构函数,拷贝构造,赋值构造
- String的构造函数,拷贝构造函数、析构函数和赋值函数
- string类的构造函数,拷贝构造函数,析构函数和赋值函数
- String类的构造函数,析构函数,拷贝构造函数和赋值函数
- string类的构造函数,拷贝构造函数,析构函数和赋值函数
- 编写String类的普通构造函数、拷贝构造函数、析构函数、赋值函数
- 编写类String的构造函数、拷贝构造函数、析构函数、赋值函数
- 编写String类的构造函数、析构函数、拷贝构造函数、赋值函数
- 编写类String的构造函数、拷贝构造函数、析构函数和赋值函数
- string类的构造函数、析构函数、拷贝构造函数和赋值函数
- 编写类String 的构造函数、拷贝构造函数、析构函数和赋值函数
- 类String的构造函数、拷贝构造函数、析构函数、赋值函数
- Bootstrap的JavaScript插件
- 如何安装FMDB
- C51控制矩阵键盘
- 回归- Regression
- Bootstrap的less
- 实现string的构造函数,析构函数,拷贝构造函数
- 时间复杂度的一些计算规则
- android:布局参数,控件属性及各种xml的作用(转)
- Android百度地图开发之显示当前位置地图
- 1002. A+B for Polynomials (25)
- 高精度乘法计算 poj1001 Exponentiation C代码
- JDK多个版本环境变量切换不成功
- js中arguments.callee在递归函数中的妙用
- 内部排序稳定性总结