| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 554 人关注过本帖
标题:自定义String类,代码哪错了
取消只看楼主 加入收藏
zheng3912930
Rank: 1
等 级:新手上路
帖 子:15
专家分:2
注 册:2011-11-10
结帖率:66.67%
收藏
 问题点数:0 回复次数:0 
自定义String类,代码哪错了
#include<iostream>
using namespace std;
class String{
    private:
    char * m_Data;
    public:
    String(const char * s=NULL );
    String(const String & s);
    String & operator =(const char *);
    friend ostream& operator <<(ostream &stream,String str);
    ~String();
};
String::String(const char * s)
{
    if(s==NULL)
    {
        m_Data=new char[1];
        m_Data='\0';
    }
    else
    {
        int len=strlen(s);
        m_Data=new char[len+1];
        strcpy(m_Data,s);
    }
}
String::String(const String &s)
{
    /*if(*this==s)
      return s;
    else
    {*/
    int length=strlen(s.m_Data);
    m_Data=new char[length+1];
    strcpy(m_Data,s.m_Data);
}

String & String::operator =(const char *s)
{
    if(s==NULL)
    {
        m_Data=new char[1];
        m_Data='\0';
    }
    else
    {
        int len=strlen(s);
        m_Data=new char[len+1];
        strcpy(m_Data,s);
    }
   
}
String::~String()
    {
        delete [] m_Data;
    }
ostream& operator <<(ostream &stream,String str)
{
    stream<<str.m_Data;
    return stream;
}
int main()
{
    String s;
    String s1("nihao!");
    String s2(s1);
    String s3="en!";
    cout<<s1<<' '<<s2<<endl;
    cout<<s3;
    return 0;
}(为什么有错误)
C:\Documents and Settings\Administrator\cq.cpp(59) : error C2248: 'm_Data' : cannot access private member declared in class 'String'
        C:\Documents and Settings\Administrator\cq.cpp(5) : see declaration of 'm_Data'
C:\Documents and Settings\Administrator\cq.cpp(68) : error C2593: 'operator <<' is ambiguous
C:\Documents and Settings\Administrator\cq.cpp(69) : error C2593: 'operator <<' is ambiguous
搜索更多相关主题的帖子: include private public friend stream 
2012-07-19 21:13
快速回复:自定义String类,代码哪错了
数据加载中...
 
   



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

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