| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 524 人关注过本帖
标题:[求助]这道有关类继承的题能通过调试却不能编译!错在哪??
只看楼主 加入收藏
wyp
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-5-13
收藏
 问题点数:0 回复次数:5 
[求助]这道有关类继承的题能通过调试却不能编译!错在哪??

#include<iostream.h>
#define N 20
#include<string.h>
class object
{
public:
object(char na[N],int num);
object();
char name[N];
int no;
};
class Book: public object
{
char author[20];
public:

Book(char na[],int num,char zuozhe[]);

Book();
void setBook(char na[N],int num,char zuozhe[N])
{
strcpy(name,na);no=num;strcpy(author,zuozhe);
}
};
object::object() {}
object::object(char na[N],int num)
{
strcpy(name,na);
no=num;
}
Book::Book (): object(){}
Book::Book(char na[N],int num,char zuozhe[N]):object(na,num)
{
strcpy(author,zuozhe);
}
class Reader:public object
{
public:
char *a;
int *b;
void rentBook(Book &c)
{

static int i=1;
strcpy(&a[i],c.name);
b[i]=c.no;
i++;


}
void showBook()
{
int i;
cout<<"读者: "<<object::name<<"("<<no<<")"<<endl;
cout<<"所借图书:"<<endl;
for(i=1;b[i]!=0;i++)
cout<<" "<<i<<"."<<a[i]<<"("<<b[i]<<")"<<endl;


}
Reader(char na[N],int num):object(na,num){}

Reader(){};
void setReader(char na[N],int num)
{
strcpy(object::name,na);object::no=num;
}
};
void main()
{
Book b1("C语言", 1,"潭浩强"),b2("数据结构", 2,"严蔚敏"),b3,b4,b5;
Reader r1("王华",1),r2;
b3.setBook("VB程序设计",3, "成功");
b4.setBook("数据库原理",4, "王瑟");
b5.setBook("计算机导学",5, "张仁");
r2.setReader("李明",2);
r1.rentBook(b1);
r1.rentBook(b3);
r2.rentBook(b2);
r2.rentBook(b4);
r2.rentBook(b5);
r1.showBook();
r2.showBook();
}


搜索更多相关主题的帖子: 编译 调试 继承 
2007-05-14 22:56
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
能通过调试却不能编译???什么意思???

把错误信息贴出来看

Fight  to win  or  die...
2007-05-14 23:21
wyp
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-5-13
收藏
得分:0 
回复:(aipb2007)能通过调试却不能编译???[em09]...
哦。。。就是这个程序有点问题,可以麻烦您帮忙调试一下吗?
万分感激。。。。没有错误报文,应该是编译错误,我不太懂。。。。拜托了
2007-05-15 07:46
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
你的b和a都没有内存,怎么存放数据?
而且容量未定,用vector 吧!!!
#include<iostream>
#include<string>
#include <vector>
using namespace std;
#define N 20
class object
{
public:
object(char na[N],int num);
object();
char name[N];
int no;
};
class Book: public object
{
char author[20];
public:

Book(char na[],int num,char zuozhe[]);

Book();
void setBook(char na[N],int num,char zuozhe[N])
{
strcpy(name,na);no=num;strcpy(author,zuozhe);
}
};
object::object() {}
object::object(char na[N],int num)
{
strcpy(name,na);
no=num;
}
Book::Book (): object(){}
Book::Book(char na[N],int num,char zuozhe[N]):object(na,num)
{
strcpy(author,zuozhe);
}
class Reader:public object
{
public:
vector<char*> a;
vector<int> b;
void rentBook(Book &c)
{
a.push_back(c.name);
b.push_back(c.no);
}
void showBook()
{
cout<<\"读者: \"<<object::name<<\"(\"<<no<<\")\"<<endl;
cout<<\"所借图书:\"<<endl;
for(int i=1;i<b.size()+1;i++)
cout<<\" \"<<i<<\".\"<<a.at(i-1)<<\"(\"<<b.at(i-1)<<\")\"<<endl;


}
Reader(char na[N],int num):object(na,num){}

Reader(){};
void setReader(char na[N],int num)
{
strcpy(object::name,na);object::no=num;
}
};
void main()
{
Book b1(\"C语言\", 1,\"潭浩强\"),b2(\"数据结构\", 2,\"严蔚敏\"),b3,b4,b5;
Reader r1(\"王华\",1),r2;
b3.setBook(\"VB程序设计\",3, \"成功\");
b4.setBook(\"数据库原理\",4, \"王瑟\");
b5.setBook(\"计算机导学\",5, \"张仁\");
r2.setReader(\"李明\",2);
r1.rentBook(b1);
r1.rentBook(b3);
r2.rentBook(b2);
r2.rentBook(b4);
r2.rentBook(b5);
r1.showBook();
r2.showBook();
}

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2007-05-15 08:12
wyp
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-5-13
收藏
得分:0 

您好,我是C++新手,对于您们的帮助很感激。。。。多谢了
另外,有个问题想请教大家一下: 有关vector 的知识可否教我一下....将不胜感激!!!

2007-05-15 08:29
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
很多C++书籍都有介绍!!!

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2007-05-15 09:15
快速回复:[求助]这道有关类继承的题能通过调试却不能编译!错在哪??
数据加载中...
 
   



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

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