题库 软件开发 题目列表 问题描述: 实现类string构造函数、 拷贝构造函数、赋...
问答题
问题描述:
实现类string构造函数、 拷贝构造函数、赋值函数、析构函数、运算符重载、字符串反转、排序,补全其中的函数实现部分(请勿改动其他代 码)
使程序可以正常运行输出结果
// 定义控制台应用程序的入口点。 //
#include <iostream>
class string {
    public:
        string(const char* src = NULL) {
        //TODO1:构造函数 //开始添加代码
        //结束添加代码 }
        ~string() {
        //TODO2:析构函数 //开始添加代码
        //结束添加代码 }
        int size() const {
            return m_length; 
        }
        const char *c_str() const {
            return m_data; }
        }
        string(const string &src) {
        //TODO3:拷贝构造函数 //开始添加代码
        //结束添加代码 
        }
        string operator+(const string &src) const {
            string ret; //TODO4:运算符+ //开始添加代码
            //结束添加代码
            return ret; 
        }
        string& operator+=(const string &src) {
            //TODO5:运算符+= //开始添加代码
            //结束添加代码
            return *this; 
        }
        bool operator==(const string &str) const {
            //TODO5:运算符== //开始添加代码
            //结束添加代码 
        }
        void Reverse() {
            //TODO5:字符串反转 //开始添加代码
            //结束添加代码 
        }
        void Sort() {
            //TODO6:字符串从小到大排序 //开始添加代码
            //结束添加代码 
        }
    private:
        char *m_data;
        int m_length; 
};
int main() {
    //构造函数
    string str1 = "abcde"; string str2("12345");
    //拷贝构造函数
    string str3 = str1;
    std::cout << (str3 == str1) << std::endl;
    //拷贝构造函数
    string str4(str2);
    std::cout << (str2 == str4) << std::endl;
    //+ 运算符
    string str5 = str1 + str2;
    std::cout << (str5 == "abcde12345") << std::endl;
    std::cout << (str5.size() == str1.size() + str2.size()) << std::endl;
    //+= 运算符
    str5 += str1;
    std::cout << (str5 == "abcde12345abcde") << std::endl;
    //反转
    string str6 = "12345678";
    str6.Reverse();
    std::cout << (str6 == "87654321") << std::endl;
    //排序
    string str7 = "202008131617";
    str7.Sort();
    std::cout << (str7 == "000111223678") << std::endl; return 0;
} 
输入描述:null                  

输出描述: 输出用例的结果  

输入样例: null                  

输出样例:
1
1
1
1
1
1

题目信息
校招真题
-
正确率
0
评论
42
点击