标题:String类 输出流重载 等等一些问题
只看楼主
lttz
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-5-24
结帖率:0
已结贴  问题点数:20 回复次数:2 
String类 输出流重载 等等一些问题
先上代码:
#include<iostream.h>
#include<string.h>
class String
{
public:
    String();
    String(char *s);
    String(String& t);
    ~String();
    String& operator = (String &a);
    String operator + (String &b);
   
    friend ostream& operator<<(ostream& out,String& s);
   

protected:
    char *p;
};

String::String()
{
   
}

String::String(char *s)
{
    p=new char[strlen(s)+1];
    if(p!=NULL)
        strcpy(p,s);
   
}

String::~String()
{   if(p!=NULL)
        delete p;
}

String::String(String& t)
{
    p=new char[strlen(t.p)+1];
    if(p!=NULL)   
        strcpy(p,t.p);
}

String String::operator +(String &b)
{   String s;
    s.p=new char[strlen(p)+strlen(b.p)+1];
    s.p=strcat(p,b.p);
    return s;
}

String& String::operator =(String &a)
{
    strcpy(p,a.p);
    return *this;
}



void main()
{
    String s1("abcdef"),s2("ghijkl"),s3,s4(s1);
    s3=s1+s2;
   
}
我学的教材是<<c++程序设计教程>>清华大学出版
这是我想要写的String类,不是可运行的,输出流重载不懂哈...555555.大神能够给小弟讲解一下感激不尽拉,最好附例子哈。
还有无参构造函数也不知道怎么写...
总之,帮我补充一下剩下的代码哈...
有什么意见和建议多多提出来,我想我应该有很多毛病在里面的,我接受哈.
万分感激!
搜索更多相关主题的帖子: include public friend 
2012-05-24 19:38
nongzhaobo
Rank: 3Rank: 3
来 自:广西南宁
等 级:论坛游侠
帖 子:59
专家分:155
注 册:2012-4-8
得分:10 
貌似有点难........
2012-05-24 21:16
跳跳鱼
Rank: 2
等 级:论坛游民
帖 子:74
专家分:60
注 册:2011-5-4
得分:10 
回复 楼主 lttz
你这个程序连个注释都没有。。看着很麻烦,不知道你要干嘛至于定义无参构造函数,只需要string(){};就够了
2012-05-24 22:58



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




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

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