| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 722 人关注过本帖
标题:[求助]求助错在哪?(有关继承)
只看楼主 加入收藏
xweiweix
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2006-5-20
收藏
 问题点数:0 回复次数:6 
[求助]求助错在哪?(有关继承)
/*编写一个学生和教师数据输入和显示程序,学生数据有编号、姓名、班号和成绩,教师数据有编号、姓名、
职称和部门。要求将编号、姓名输入和显示设计成一个类person,并作为学生数据操作类student和教师数
据操作类teacher的基类。*/
#include<iostream.h>
#include<string.h>
class Person
{
public:
int id;
char name[10];
void show(Student s)
{
s.set();
cout << id << endl;
cout << name << endl;
s.print();
}

};
class Student:public Person
{
public:
int classid;
double score;
void set()
{
cout << "请输入编号:" << endl;
cin >> classid;
cout << "请输入成绩:" << endl;
cin >> score;
}
void print()
{
cout << 编号:" << classid << endl;
cout << "成绩:" << score << endl;
}

};
class Teacher:public Person
{
public:
char zhichen[10];
char bumen[10];

};
void main()
{
Person a;
strcpy(a.name,"СÃ÷");
a.id=2;
Student s1;
a.show(s1);
}

//程序还没写完整 可是一直报错 达人帮忙指点下
搜索更多相关主题的帖子: name 继承 数据 教师 姓名 
2007-01-22 19:39
tyc611
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2007-1-21
收藏
得分:0 
1. 你应该把错误贴出来,不然别人怎么给你分析
2. 你的程序太不规范了,比如头文件应该用<iostream>而不是<iostream.h>(.h形式已经被摒弃),main函数返回int型
3. 设计类时,一般应该把数据成员设计为private,不然,你怎么体现封闭性?
4. 传递类类型时,能用引用就用引用,能用const引用就用const引用

2007-01-22 20:45
dragonfly
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:1024
专家分:0
注 册:2006-3-20
收藏
得分:0 
在person类里的show函数的参数是什么类型?student类在这里还没定义,肯定出错

2007-01-23 08:34
xweiweix
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2006-5-20
收藏
得分:0 
show函数的形参类型是对象类型啊 就是传进去一个Student类的对象
还是一头雾水 达人们能不能说的具体点啊

努力学习编程ing 目标--软件工程师
2007-01-23 09:25
tyc611
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2007-1-21
收藏
得分:0 
以下是引用xweiweix在2007-1-23 9:25:00的发言:
show函数的形参类型是对象类型啊 就是传进去一个Student类的对象
还是一头雾水 达人们能不能说的具体点啊

在类Person前,放上前置声明:class Student;


2007-01-23 10:40
dragonfly
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:1024
专家分:0
注 册:2006-3-20
收藏
得分:0 
编译是从前到后的!
在你Person类声明前有没有Student类的声明呢?
编译器能认Student吗?
能不出错吗?
还没明白吗?

2007-01-23 10:41
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 
#include<iostream.h>
#include<string.h>
class student;
class Person
{
public:
int id;
char name[10];
void show(Student s)
{
s.set();
cout << id << endl;
cout << name << endl;
s.print();
}

};
class Student:public Person
{
public:
int classid;
double score;
void set()
{
cout << "请输入编号:" << endl;
cin >> classid;
cout << "请输入成绩:" << endl;
cin >> score;
}
void print()
{
cout << 编号:" << classid << endl;
cout << "成绩:" << score << endl;
}

};
class Teacher:public Person
{
public:
char zhichen[10];
char bumen[10];

};
void main()
{
Person a;
strcpy(a.name,"СÃ÷");
a.id=2;
Student s1;
a.show(s1);
}
你这么做是干什么呢
让基类调用子类函数来完成功能???
看看虚函数吧

嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2007-01-23 20:38
快速回复:[求助]求助错在哪?(有关继承)
数据加载中...
 
   



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

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