| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 349 人关注过本帖
标题:大侠们帮帮忙!!实在找不出啥错?
收藏  订阅  推荐  打印 
kongwei254
Rank: 1
等级:新手上路
帖子:38
积分:440
注册:2008-5-18
大侠们帮帮忙!!实在找不出啥错?

//////
#include <iostream>
#ifndef STRNGBAD_H
#define STRNGBAD_H
#include "stringbad1.h"
using namespace std;
class stringbad
{
private:
    char *str;
    int len;
    static int num_strings;
public:
    
    stringbad(const char *s);
    stringbad();
    ~stringbad();
//friend function
    friend ostream & operator<<(ostream &os,const stringbad &st);
};
#endif

////////////////////////////////////////////////////
#include <iostream>
#include <cstring>
#include "stringbad1.h"
using namespace std;
int stringbad::num_strings=0;
stringbad::stringbad(const char *s)
{
    len=strlen(s);
    str=new char[len+1];
    strcpy(str,s);
    num_strings++;
    cout<<num_strings<<":\""<<str<<"\"object created\n";
}
stringbad::stringbad()
{
    len=4;
    str=new char[4];
    strcpy(str,"c++");
    num_strings++;
    cout<<num_strings<<":\""<<str<<"\"default object created\n";
}
stringbad::~stringbad()
{
    cout<<num_strings<<":\""<<str<<"\"object deleted\n";
    num_strings--;
    cout<<num_strings<<"left\n";
    delete [] str;
}
ostream & operator<<(ostream &os,const stringbad &st)
{
    os<<st.str;
    return os;
}

/////////////////////////////////////////////////////////////

#include <iostream>
#include "stringbad1.h"
using namespace std;
void callme1(stringbad &);
void callme2(stringbad);
int main()
{
    stringbad headline1("welcome to here!");
    stringbad headline2("shan dong jinan");
    stringbad sports("here is my home");
    cout<<"headline1:"<<headline1<<endl;
    cout<<"headline2:"<<headline2<<endl;
    cout<<"sports:"<<sports<<endl;
    callme1(headline1);
    cout<<"headline1:"<<headline1<<endl;
    callme2(headline2);
    cout<<"headline2:"<<headline2<<endl;
    cout<<"Initialize one object to another:\n";
    stringbad sailor=sports;
    cout<<"sailor:"<<sailor<<endl;
    cout<<"Assign one object to another:\n";
    stringbad knot;
    knot=headline1;
    cout<<"knot:"<<knot<<endl;
    cout<<"end of main()\n";
    return 0;
}
void callme1(stringbad &rsb)
{
    cout<<"string passed by reference:\n";
    cout<<"\""<<rsb<<"\"\n";
}
void callme2(stringbad sb)
{
    cout<<"string passed by value:\n";
    cout<<"\""<<sb<<"\"\n";
}
搜索更多相关主题的帖子: 大侠  
2008-5-19 21:31
Msist
Rank: 1
等级:新手上路
帖子:5
积分:154
注册:2008-5-20
新手莫怪

#include <iostream>
#include "stringbad1.h"// stringbadl.h是什么东东?
貌似没有这样的头文件
2008-5-20 12:26
newyj
Rank: 4
等级:高级会员
威望:2
帖子:519
积分:6012
注册:2008-1-4

"stringbad1.h"
是自己定义的头文件
2008-5-20 13:52
lixingstone
Rank: 1
等级:新手上路
帖子:3
积分:134
注册:2006-11-4

啥错啊。
2008-5-20 15:55
bibingyan
Rank: 2
来自:湖南长沙
等级:注册会员
帖子:121
积分:1410
注册:2008-3-16

你还是把你那个自己定义的"stringbad1.h"贴出来看看吧。

不嫌恶地狱,不迷恋人间,不羡慕天堂。
2008-5-26 23:30
kongwei254
Rank: 1
等级:新手上路
帖子:38
积分:440
注册:2008-5-18

已经解决了谢谢
2008-5-29 15:17
笨小孩6
Rank: 1
等级:新手上路
帖子:8
积分:186
注册:2006-3-3

解决了为什么不说出问题所在?楼主不厚道,只知索取,不知奉献!

最大的电子书下载基地
www.netyi.net/in.asp?id=bxhsix
2008-5-29 21:22
kongwei254
Rank: 1
等级:新手上路
帖子:38
积分:440
注册:2008-5-18

不好意思,这个只是C++编译器的原因!!
2008-6-19 08:04
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.073149 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved