非常满意意 2022-05-31 16:09 采纳率: 90.9%
浏览 135
已结题

C++编写一个自定义字符串类mystring

完善以下函数

#include <iostream>
using namespace std;
const int maxsize = 256;
class mystring
{
    char str[maxsize];
    int len;
public:
    mystring()
    {
        len = 0;
        str[0] = '\0';
        cout << "缺省构造函数" << endl;
    }
    mystring(char* s)
    {
        ...//要完善的部分
        cout << "构造函数(用C风格字符串初始化)" << endl;
    }
}//复制构造函数
mystring(mystring& ms)
{
    ...//要完善的部分
    cout << "拷贝构造函数" << endl;
}
~mystring()
{
    cout << "析构函数" << endl;
}
void show()
{ //打印字符串
    ...//要完善的部分
}
};
int main()
{
    char str[21] = "Hello C++";
    mystring A(str);
    mystring B = A;
    A.show();
    return 0;
}
  • 写回答

1条回答 默认 最新

  • HWsir 2022-05-31 16:58
    关注

    img

    
    #include <iostream>
    using namespace std;
    const int maxsize = 256;
    class mystring
    {
        char str[maxsize];
        int len;
    public:
        mystring()
        {
            len = 0;
            str[0] = '\0';
            cout << "缺省构造函数" << endl;
        }
        mystring(char* s)
        {
            //...//要完善的部分
            int i=0;
            for(i=0;s[i]!='\0';i++)
            {
                str[i]=s[i];
            }
            len=i;
            cout << "构造函数(用C风格字符串初始化)" << endl;
        }
    //复制构造函数
    mystring(mystring& ms)
    {
        //...//要完善的部分
        len=ms.len;
        for(int i=0;i<len;i++)
        {
            str[i]=ms.str[i];
        }
        cout << "拷贝构造函数" << endl;
    }
    ~mystring()
    {
        cout << "析构函数" << endl;
    }
    void show()
    { //打印字符串
        //...//要完善的部分
        for(int i=0;i<len;i++)
       {
            cout<<str[i];
        }
        cout<<'\n';
    }
    };
    int main()
    {
        char str[21] = "Hello C++";
        mystring A(str);
        mystring B = A;
        A.show();
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月8日
  • 已采纳回答 5月31日
  • 赞助了问题酬金5元 5月31日
  • 创建了问题 5月31日

悬赏问题

  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分