1.赋值运算符函数
来源:互联网 发布:知柏地黄丸多少钱一盒 编辑:程序博客网 时间:2024/05/25 08:12
#include <iostream>#include <cstring>#include <utility> // std::swapusing namespace std;class MyString{public: MyString(char* pData=nullptr); MyString(const MyString& ms); ~MyString(){ delete[] m_pData;} MyString& operator= (const MyString& ms); friend ostream& operator<<(ostream& o, const MyString& ms);private: char* m_pData;};MyString::MyString(char* pData){ if(pData) { m_pData = new char[strlen(pData)+1]; strcpy(m_pData, pData); } else { m_pData = new char[1]; m_pData[0] = '\0'; }}MyString::MyString(const MyString& ms){ m_pData = new char[strlen(ms.m_pData)+1]; strcpy(m_pData, ms.m_pData);}MyString& MyString::operator=(const MyString& ms){ MyString tmp(ms); swap(m_pData, tmp.m_pData); return *this;}ostream& operator<<(ostream& o, const MyString& ms){ o<<ms.m_pData; return o;}int main(){ char p1[] = "s1"; char p2[] = "s2"; MyString s1(p1); MyString s2(p2); MyString s3(s2); //s1 = s2 = s3; cout<<s1<<s3; return 0;}
1 0
- 1.赋值运算符函数
- 赋值运算符函数
- 赋值运算符函数
- 赋值运算符函数
- 赋值运算符函数
- 赋值运算符函数
- 赋值运算符函数
- 赋值运算符函数
- 赋值运算符函数
- 赋值运算符函数
- 赋值运算符函数
- 赋值运算符函数
- 赋值运算符函数
- 【剑指offer】1.赋值运算符函数
- 赋值运算符重载函数
- 关于赋值运算符函数
- 赋值运算符重载函数
- T1赋值运算符函数
- 神经网络通俗指南:一文看懂神经网络工作原理
- 浅说c/c++的sizeof
- CSS设置table下tbody滚动条与thead对齐的方法
- For XML PATH
- swift学习笔记6 闭包
- 1.赋值运算符函数
- API Guide:APP组件-意图和意图过滤器
- Java搞基IO流的基础二三事之一
- css使用
- swift学习笔记7 枚举
- Number of Segments in a String问题及解法
- swift学习笔记8 类与结构
- adaboost训练——弱分类器训练原理
- 【AngularJs】ui-grid 使用详解