| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 417 人关注过本帖
标题:这个类..那错了????!
只看楼主 加入收藏
wandison
Rank: 1
等 级:新手上路
帖 子:50
专家分:4
注 册:2006-11-7
收藏
 问题点数:0 回复次数:4 
这个类..那错了????!

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

};
class Book: public object
{
char author[20];
public:

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

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

};
object::object(char na[N],int num)
{
strcpy(name,na);
no=num;
}
Book::Book(char na[N],int num,char zuozhe[N]):object(na[N],num)
{
strcpy(author,zuozhe);
}


class Reader:public object
{
public:
Reader(char na[N],int num):object(na[N],num)
{
cout<<"读者: "<<name[N]<<"("<<no<<")"<<endl;
cout<<"所借图书:"<<endl;
}

Reader();
void setReader(char na[N],int num)
{
strcpy(object::name,na);object::no=num;
cout<<"读者: "<<object::name<<"("<<object::no<<")"<<endl;
cout<<"所借图书:"<<endl;
}

void rentBook(Book &a)
{
static int n=1;
cout<<" "<<n<<". ";
n++;
cout<<a.name<<"("<<a.no<<")"<<endl;
}
};


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

搜索更多相关主题的帖子: class include 
2007-05-13 21:27
raulxxyuer
Rank: 1
等 级:新手上路
威 望:1
帖 子:178
专家分:0
注 册:2007-4-23
收藏
得分:0 

你说什么地方有错误呢?


我很沒用,總是學不會遺忘,總是學不會割捨本不屬於我的東西。
2007-05-13 21:36
wandison
Rank: 1
等 级:新手上路
帖 子:50
专家分:4
注 册:2006-11-7
收藏
得分:0 
就是不能通过啊,你帮我调试一下;谢谢!

2007-05-13 23:26
kisscjy
Rank: 1
等 级:新手上路
帖 子:217
专家分:0
注 册:2007-4-9
收藏
得分:0 

问题在这里:

object::object(char na[N],int num)
{
strcpy(name,na);
no=num;
}
Book::Book(char na[N],int num,char zuozhe[N]):object(na[N],num)
{
strcpy(author,zuozhe);
}

object的构造函数的第一个参数是一个数组.
na[N]则是代表数组中的第N个元素.
所以发生编译错误.


每当我一晚写下70,80个程序时,你还真以为,这都是我一个人干的.....不过说真的,其实都是抄书的~~ ^@^
2007-05-14 00:38
yushui
Rank: 3Rank: 3
等 级:论坛游民
威 望:7
帖 子:1355
专家分:22
注 册:2006-7-19
收藏
得分:0 

#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]);

};
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:
Reader(char na[N],int num):object(na,num)
{
cout<<"读者: "<<name[N]<<"("<<no<<")"<<endl;
cout<<"所借图书:"<<endl;
}

Reader(){};
void setReader(char na[N],int num)
{
strcpy(object::name,na);object::no=num;
cout<<"读者: "<<object::name<<"("<<object::no<<")"<<endl;
cout<<"所借图书:"<<endl;
}

void rentBook(Book &a)
{
static int n=1;
cout<<" "<<n<<". ";
n++;
cout<<a.name<<"("<<a.no<<")"<<endl;
}
};


void main()
{
Book b1("C语言", 1,"潭浩强"),b2("数据结构", 2,"严蔚敏"),b3,b4,b5;
Reader r1("王华",1),r2;
//b3.setBook("VB程序设计",3, "成功");//你的book类里没有这个函数
//b4.setBook("数据库原理",4, "王瑟");
//b5.setBook("计算机导学",5, "张仁");
r2.setReader("李明",2);
r1.rentBook(b1);
r1.rentBook(b3);
r2.rentBook(b2);
r2.rentBook(b4);
r2.rentBook(b5);
}

没有默认的构造函数


fighting!from now on!
2007-05-14 08:39
快速回复:这个类..那错了????!
数据加载中...
 
   



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

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