014 MyString
2022/2/19 23:42:44
本文主要是介绍014 MyString,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
#include <iostream> #include <string> #include <cstring> using namespace std; class MyString { char * p; public: MyString(const char * s) { if( s) { p = new char[strlen(s) + 1]; strcpy(p,s); } else p = NULL; } ~MyString() { if(p) delete [] p; } MyString(const MyString& ms) { if (ms.p) { p = new char[strlen(ms.p)+1]; strcpy(p, ms.p); } else { p = NULL; } } MyString& operator=(const MyString & nstr) { if (nstr.p) { p = new char[strlen(nstr.p) + 1]; strcpy(p,nstr.p); } else { p = NULL; } return *this; } void Copy(const MyString & str) { if (str.p) { p = new char[strlen(str.p) + 1]; strcpy(p, str.p); } else { p = NULL; } } friend ostream & operator<< (ostream& o, const MyString & str) { string s = str.p; o << s; return o; } }; int main() { char w1[200],w2[100]; while( cin >> w1 >> w2) { MyString s1(w1),s2 = s1; MyString s3(NULL); s3.Copy(w1); cout << s1 << "," << s2 << "," << s3 << endl; s2 = w2; s3 = s2; s1 = s3; cout << s1 << "," << s2 << "," << s3 << endl; } }
这篇关于014 MyString的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-17HarmonyOS NEXT开发实战:打造高效上拉刷新与下拉加载组件(一)空页面的设计与实现
- 2024-11-17职场毒瘤:无脑尊蠢老!我不反对尊老,我只是反对没有脑子的尊老!
- 2024-11-17顶级企业如何用数据脱敏保护用户隐私!
- 2024-11-16ShardingSphere 如何完美驾驭分布式事务与 XA 协议?
- 2024-11-16ShardingSphere如何轻松驾驭Seata柔性分布式事务?
- 2024-11-16Maven资料入门指南
- 2024-11-16Maven资料入门教程
- 2024-11-16MyBatis Plus资料:新手入门教程与实践指南
- 2024-11-16MyBatis-Plus资料入门教程:快速上手指南
- 2024-11-16Mybatis资料入门教程:新手必看指南