小弟我写的一个程序,但是编译有异常,不太理解,请大侠进来帮帮忙。多谢多谢啦
我写的一个程序,但是编译有错误,不太理解,请大侠进来帮帮忙。谢谢谢谢啦。
#include<iostream>
#include<string>
using namespace std;
class Person
{
public:
Person(string n,string s,int a);
void show() ;
private:
string name;
string sex;
int age;
};
Person::Person(string n,string s,int a)
{
name=n;
sex=s;
age=a;
}
void Person::show()
{
cout<<"name:"<<name<<endl;
cout<<"sex:"<<sex<<endl;
cout<<"age"<<age<<endl;
}
class Teacher:public Person
{
public:
Teacher(string n,string s,int a,string j,string c);
void show() ;
private:
string job;
string course;
}
Teacher::Teacher(string n,string s,int a,string j,string c):Person(n,s,a)
{
job=j;
course=c;
}
void Teacher::show()
{
Person::show();
cout<<"job:"<<job<<endl;
cout<<"course:"<<course<<endl;
}
class Student:public Person
{
public:
Student(string n,string s,int a,int no,string sub);
void show() ;
private:
int number;
string subject;
};
Student::Student(string n,string s,int a,int no,string sub):Person(n,s,a)
{
number=no;
subject=sub;
}
void Student::show()
{
Person::show();
cout<<"number:"<<number<<endl;
cout<<"subject:"<<subject<<endl;
}
class Gradstudent:public Student
{
public:
Gradstudent(string n,string s,int a,int no,string sub,string te ) ;
void show() ;
private:
string daoshi;
};
Gradstudent::Gradstudent(string n,string s,int a,int no,string sub,string te):Student(n,s,a,no,sub)
{
daoshi=te;
}
void Gradstudent::show()
{ Student::show();
cout<<"daoshi:"<<daoshi<<endl;
}
int main()
{
Student A("tom","girl",20,12,"computer");
Teacher B("xiao","boy",40,"professor","math");
A. show();
B. show();
return 0;
}
请大家帮我改改这个程序的错误,编译错误是:
d:\c程序\sy5_3\sy5_3.cpp(35) : error C2533: 'Teacher::Teacher' : constructors not allowed a return type
d:\c程序\sy5_3\sy5_3.cpp(88) : error C2264: 'Teacher::Teacher' : error in function definition or declaration; function not called
------解决方案--------------------
42 行漏了一个分号,加上后就可以了
定义class最后记得有分号;
------解决方案--------------------
Teacher类后面少了个 ;
#include<iostream>
#include<string>
using namespace std;
class Person
{
public:
Person(string n,string s,int a);
void show() ;
private:
string name;
string sex;
int age;
};
Person::Person(string n,string s,int a)
{
name=n;
sex=s;
age=a;
}
void Person::show()
{
cout<<"name:"<<name<<endl;
cout<<"sex:"<<sex<<endl;
cout<<"age"<<age<<endl;
}
class Teacher:public Person
{
public:
Teacher(string n,string s,int a,string j,string c);
void show() ;
private:
string job;
string course;
}
Teacher::Teacher(string n,string s,int a,string j,string c):Person(n,s,a)
{
job=j;
course=c;
}
void Teacher::show()
{
Person::show();
cout<<"job:"<<job<<endl;
cout<<"course:"<<course<<endl;
}
class Student:public Person
{
public:
Student(string n,string s,int a,int no,string sub);
void show() ;
private:
int number;
string subject;
};
Student::Student(string n,string s,int a,int no,string sub):Person(n,s,a)
{
number=no;
subject=sub;
}
void Student::show()
{
Person::show();
cout<<"number:"<<number<<endl;
cout<<"subject:"<<subject<<endl;
}
class Gradstudent:public Student
{
public:
Gradstudent(string n,string s,int a,int no,string sub,string te ) ;
void show() ;
private:
string daoshi;
};
Gradstudent::Gradstudent(string n,string s,int a,int no,string sub,string te):Student(n,s,a,no,sub)
{
daoshi=te;
}
void Gradstudent::show()
{ Student::show();
cout<<"daoshi:"<<daoshi<<endl;
}
int main()
{
Student A("tom","girl",20,12,"computer");
Teacher B("xiao","boy",40,"professor","math");
A. show();
B. show();
return 0;
}
请大家帮我改改这个程序的错误,编译错误是:
d:\c程序\sy5_3\sy5_3.cpp(35) : error C2533: 'Teacher::Teacher' : constructors not allowed a return type
d:\c程序\sy5_3\sy5_3.cpp(88) : error C2264: 'Teacher::Teacher' : error in function definition or declaration; function not called
------解决方案--------------------
42 行漏了一个分号,加上后就可以了
定义class最后记得有分号;
------解决方案--------------------
Teacher类后面少了个 ;