| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 601 人关注过本帖
标题:提示错误不明白?
只看楼主 加入收藏
魔鬼之子
Rank: 1
来 自:地狱之都
等 级:新手上路
帖 子:100
专家分:0
注 册:2007-9-22
结帖率:71.43%
收藏
已结贴  问题点数:10 回复次数:3 
提示错误不明白?
# include<iostream>
# include<cstring>
using namespace std;

class Person{
protected:
    char Name[10];
    char Sex;
    int Age;
public:
    void Register(char *name,int age,char sex);
    void ShowMe();
};

class Teacher:public Person{
    char Dept[20];
    int Salary;
public:
    Teaher(char *name,int age,char sex,char *dept,int salary);
    void ShowMe();
};

class Student:public Person{
    char ID[12];
    char Class[12];
public:
    Student(char *name,int age,char sex,char *id,char *classid);
    void ShowMe();
};

void Person::Register(char *name, int age,char sex){
    strcpy(Name,name);
    Sex=(sex=='m'?'m':'f');
    Age=age;
}
void Person::ShowMe(){
    cout<<"姓 名:"<<Name<<endl;
    cout<<"性 别:"<<(Sex=='m'?"男":"女")<<endl;
    cout<<"年 龄:"<<Age<<endl;
}
Teacher::Teaher(char *name,int age,char sex,char *dept,int salary){
    Teacher::Register(name,age,sex);
    strcpy(Dept,dept);
    Salary=salary;
}
Student::Student(char *name,int age,char sex,char *id,char *classid){
    Student::Register(name,age,sex);
    strcpy(ID,id);
    strcpy(Class,classid);
}
void Student::ShowMe(){
    cout<<"学 号:"<<ID<<endl;
    Person::ShowMe();
    cout<<"班 级:"<<Class<<"\n\n";
}

void main(){
    Teacher empl("章立早",38,'m',"电信学院",2300);
    Student stdl("李木子",22,'f',"02035003","能动01");
    empl.ShowMe();
    stdl.ShowMe();
}
编译如下:
--------------------Configuration: PersonTeacherStudent - Win32 Debug--------------------
Compiling...
PTS.CPP
F:\vc++\vc++程序\MyObject\PersonTeacherStudent\PTS.CPP(58) : error C2661: 'Teacher::Teacher' : no overloaded function takes 5 parameters
执行 cl.exe 时出错.

PersonTeacherStudent.exe - 1 error(s), 0 warning(s)
看不懂什么意思/

搜索更多相关主题的帖子: 提示 
2009-10-31 11:31
qlc00
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:157
专家分:540
注 册:2007-11-26
收藏
得分:5 
# include<iostream>
# include<string>
using namespace std;
class Person{
protected:
    char Name[10];
    char Sex;
    int Age;
public:
    void Register(char *name,int age,char sex);
    virtual void ShowMe();
};

class Teacher:public Person
{
    char Dept[40];
    int Salary;
public:
    Teacher(char *name,int age,char sex,char *dept,int salary);
    void ShowMe();
};

class Student:public Person
{
    char ID[12];
    char Class[12];
public:
    Student(char *name,int age,char sex,char *id,char *classid);
    void ShowMe();
};

void Person::Register(char *name, int age,char sex){
    strcpy(Name,name);
    Sex=(sex=='m'?'m':'f');
    Age=age;
}
void Person::ShowMe(){
    cout<<"姓 名:"<<Name<<endl;
    cout<<"性 别:"<<(Sex=='m'?"男":"女")<<endl;
    cout<<"年 龄:"<<Age<<endl;
}
Teacher::Teacher(char *name,int age,char sex,char *dept,int salary){

    Person::Register(name,age,sex);
    strcpy(Dept,dept);
    Salary=salary;
}
Student::Student(char *name,int age,char sex,char *id,char *classid){
    Student::Register(name,age,sex);
    strcpy(ID,id);
    strcpy(Class,classid);
}
void Student::ShowMe(){
    cout<<"学 号:"<<ID<<endl;
    Person::ShowMe();
    cout<<"班 级:"<<Class<<"\n\n";
}
void Teacher::ShowMe(){
    cout<<"系别:"<<Dept<<endl;
    Person::ShowMe();
    cout<<"工资:"<<Salary<<"\n\n";
}

void main()
{
    Teacher tc("章立早",38,'m',"电信学院",2300);
    Student stdl("李木子",22,'f',"02035003","能动01");
    tc.ShowMe();
    stdl.ShowMe();
}
这个是修改后的,你的错误就是你的Teacher::Teaher(char *name,int age,char sex,char *dept,int salary){,还有一个就是你没有Teacher的ShowMe()函数

Anything is possible!
2009-10-31 13:06
最左边那个
Rank: 4
等 级:业余侠客
威 望:3
帖 子:97
专家分:201
注 册:2009-4-24
收藏
得分:5 
# include<iostream>
# include<cstring>
using namespace std;

class Person{
protected:
    char Name[10];
    char Sex;
    int Age;
public:
    void Register(char *name,int age,char sex);
    void ShowMe();
};

class Teacher:public Person{
    char Dept[20];
    int Salary;
public:
    Teacher(char *name,int age,char sex,char *dept,int salary);
    void ShowMe();
};

class Student:public Person{
    char ID[12];
    char Class[12];
public:
    Student(char *name,int age,char sex,char *id,char *classid);
    void ShowMe();
};

void Person::Register(char *name, int age,char sex){
    strcpy(Name,name);
    Sex=(sex=='m'?'m':'f');
    Age=age;
}
void Person::ShowMe(){
    cout<<"姓 名:"<<Name<<endl;
    cout<<"性 别:"<<(Sex=='m'?"男":"女")<<endl;
    cout<<"年 龄:"<<Age<<endl;
}

Teacher::Teacher(char *name,int age,char sex,char *dept,int salary){
    Person::Register(name,age,sex);
    strcpy(Dept,dept);
    Salary=salary;
}
Student::Student(char *name,int age,char sex,char *id,char *classid){
    Person::Register(name,age,sex);
    strcpy(ID,id);
    strcpy(Class,classid);
}
void Student::ShowMe(){
    cout<<"学 号:"<<ID<<endl;
    Person::ShowMe();
    cout<<"班 级:"<<Class<<"\n\n";
}
void Teacher::ShowMe(){
    cout<<"学 院:"<<Dept<<endl;
    Person::ShowMe();
    cout<<"工 资:"<<Salary<<"\n\n";
}

void main(){
    Teacher empl("章立早",38,'m',"电信学院",2300);
    Student stdl("李木子",22,'f',"02035003","能动01");
    empl.ShowMe();
    stdl.ShowMe();
}

改了,才发现和2楼一样,还是发上去啦!2楼说的好!
2009-10-31 20:01
魔鬼之子
Rank: 1
来 自:地狱之都
等 级:新手上路
帖 子:100
专家分:0
注 册:2007-9-22
收藏
得分:0 
回复 2楼 qlc00
谢谢你的帮助

只有仇恨才是永恒的
2009-10-31 21:22
快速回复:提示错误不明白?
数据加载中...
 
   



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

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