标题:请教自己字符串类的问题
取消只看楼主
ringlord
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2009-5-30
结帖率:80%
已结贴  问题点数:10 回复次数:1 
请教自己字符串类的问题
要求实现自己的MyString2类,实现这样的函数MyString2(char chars[], int size);
假如头文件(MyString.h)是这样:
#include <iostream>
#include <cstring>
using namespace std;
class MyString2
{
public:
    MyString2(char chars[], int size);
private:
    char *s;
    int length;
   
};

头文件的实现文件是这样:
#include "MyString2.h"
#include <cstring>
#include <iostream>
using namespace std;

MyString2::MyString2(char chars[], int size)
{
    s = new char[size];
    for (int i = 0; i < size - 1; i++)
        s[i] = chars[i];
    s[size] = '\0';   
};


主函数是这样:
#include <iostream>
#include "MyString2.h"
#include <cstring>
using namespace std;

int main()
{
    char chars[4] = "abc";
    MyString2 s(chars, 4);
    cout << s << endl;
    return 0;
}

请问这个哪里出错了呢,不能直接显示s吗?谢谢了
搜索更多相关主题的帖子: public 字符串 private 问题 include 
2012-04-18 18:53
ringlord
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2009-5-30
得分:0 
回复 2楼 寒风中的细雨
真的非常感谢啊
可以编译通过了,运行出错,error C2664: 'MyString2::MyString2(const MyString2 &)' : cannot convert parameter 1 from 'char *' to 'const MyString2 &'
        Reason: cannot convert from 'char *' to 'const MyString2'
        No constructor could take the source type, or constructor overload resolution was ambiguous

[ 本帖最后由 ringlord 于 2012-4-18 21:01 编辑 ]
2012-04-18 20:54



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-366110-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.419972 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved