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

#include<iostream.h>
#define N 20
#include<string.h>
class object
{
public:
object(char na[N],int num);
object();
char name[N];//我不知道怎么回事 用Private会报错
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:

void rentBook(Book &c){
----------------------
} 这俩个函数不知道怎么编才对啊!!?
void showBook()------------------------
{
int t=1;
cout<<"读者: "<<object::name<<"("<<no<<")"<<endl;
cout<<"所借图书:"<<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();
}


---原题目------假设图书馆的图书(Book)包含书名(name)、编号(no)和作者属性(author),读者(Reader)包含姓名(name)和借书证属性(no),每位读者最多可值5本书,编写程序列出某读者的借书情况;并采用相关数据进行测试。
设计一个类object,从它派生出图书类book和读者类reader,在reader类中有一个rentBook()成员函数用于借阅图书。
用如下的main函数来测试一下。
void main()
{
Book b1(“C语言”, 1,“潭浩强”),b2(“数据结构”, 2,“严蔚敏”),b3,b4,b5;
Reader r1(“王华”,1),r2;
b3.setBok(“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();

}

程序的执行结果如下:
读者:王华(1)
所借图书:
1. C语言(1)
2. VB程序设计(3)
读者:李明(2)
1. 数据结构(2)
2. 数据库原理(4)
3. 计算机导学(5)

搜索更多相关主题的帖子: 函数 char object 继承 public 
2007-05-14 18:13
wyp
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-5-13
收藏
得分:0 
回复:(wyp)[求助]:这道关于类继承的问题中两个函数...

#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();
}


这样去写rentBook(Book &)和showBook()两个函数,可以通过调试却无法得到编译的结果!!
真的不知道为什么?帮帮忙吧......

2007-05-14 23:02
快速回复:[求助]:这道关于类继承的问题中两个函数不知怎么编
数据加载中...
 
   



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

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