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的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程