SOJ.MyString Class

来源:互联网 发布:win10文件加密软件 编辑:程序博客网 时间:2024/05/21 12:48
MyString Class
 
时间限制:1秒    内存限制:256兆
题目描述

定义一个MyString类如下,该类有构造函数、拷贝构造函数、析构函数、成员函数和静态成员函数,有一个C字符串指针变量,还有一个静态成员变量numberOfObjects。请你完成类的实现。

class MyString

{

public:

    MyString(const char*);

    MyString(int = 0, char = '\0');  //initialize size_t number of char, terminated with '\0'

    MyString(const MyString&);           //copy constructor

    ~MyString();                                          //destructor

    const char* c_str();                   //return private char*

    static int getNumberOfObjects();

private:

    char *str;

    static int numberOfObjects;             //count the number of MyString objects

};

请提交类的定义及其完整实现。

 

样例输入
样例输出
ccccc
Hello!
1
提示

请认真理解类的构造函数、重载、静态成员变量及其初始化、RAII(资源获取就是初始化)以及new和delete的使用、深拷贝。测试数据中不会发生内存不够的现象。


主函数形式如下:
int main()
{
       MyString ms1(5, 'c');
       cout << ms1.c_str() << endl;
       MyString *ptr_ms2 = new MyString("Hello!");
    {
        MyString ms3(ms1);
    }
    cout << ptr_ms2->c_str() << endl;
    delete ptr_ms2;
    cout << MyString::getNumberOfObjects() << endl;
        return 0;
}



0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 华为p6一直黑屏怎么办 华为手机root卡重启怎么办 华为手机变砖怎么办 华为手机丢了怎么办? 蓝牙耳机不闪烁怎么办 金立手机打不开怎么办 华为蓝牙不能用怎么办 iphone蓝牙坏了怎么办 苹果蓝牙坏了怎么办 苹果x蓝牙连不上怎么办 手机耳机槽松了怎么办 蓝牙连接不上怎么办 蓝牙开不了机怎么办 蓝牙耳机听不了怎么办 路虎车门打不开怎么办 蓝牙连接声音小怎么办 手机丢在高铁上怎么办 电信卡注销欠费怎么办 手机和卡都丢了怎么办 老干妈打不开盖子怎么办 苹果键盘电池仓打不开怎么办 苏泊尔电压力锅打不开盖子怎么办 honorv9声音太小怎么办 异地手机卡丢了怎么办 中国移动卡丢了怎么办 mate8麦克风坏了怎么办 qq空间被禁赞了怎么办 苹果老耳机模式怎么办 华为手机无声音怎么办 华为手机声音不正常怎么办 带耳机不能说话怎么办 耳机说话没声音怎么办 手机耳机说话没声音怎么办 不接爸爸电话怎么办 耳机自动调高怎么办 手机扩音器坏了怎么办 耳机有电流麦怎么办 耳机自动调音量怎么办 耳机接口总是坏怎么办 漫步者耳机音量太大怎么办 华为录音声音小怎么办