首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

,写了一个头文件,但是有有关问题

2013-04-22 
求助,写了一个头文件,但是有问题#includeiostreamusing namespace stdclass person{protected:char nam

求助,写了一个头文件,但是有问题
#include<iostream>
using namespace std;

class person
{
protected:
char name[20];
int age;
char sex[5];
public:
person(char name1[],int age1,char sex1[])
{
strcpy(name,name1);
age=age1;
strcpy(sex,sex1);
}
void show() const
{
cout<<"Name:"<<name<<endl;
cout<<"Age:"<<age<<endl;
cout<<"Sex:"<<sex<<endl;
}
};
class teacher:virtual public person
{
protected:
char title[20];
char name[20];
int age;
char sex[5];
public:
teacher(char name1[],int age1,char sex1[],char title1[]):person(name1,age1,sex1)
{
strcpy(name,name1);
age=age1;
strcpy(sex,sex1);
strcpy(title,title1);
}
void show() const
{
cout<<"Name:"<<name<<endl;
cout<<"Age:"<<age<<endl;
cout<<"Sex:"<<sex<<endl;
cout<<"Title:"<<title<<endl;
};

class cadre:virtual public person
{
protected:
char name[20];
int age;
char sex[5];
char post[20];
public:
cadre(char name1[],int age1,char sex1[],char post1[]):person(name1,age1,sex1)
{
strcpy(name,name1);
age=age1;
strcpy(sex,sex1);
strcpy(post,post1);
}
void show() const
{
cout<<"Name:"<<name<<endl;
cout<<"Age:"<<age<<endl;
cout<<"Sex:"<<sex<<endl;
cout<<"Post:"<<post<<endl;
cout<<endl;
}

class teachercadre:public teacher,public cadre
{
protected:
char name[20];
int age;
char sex[5];
char post[20];
char title[20];
int wages;
public:
teachercadre(char name1[],int age1,char sex1[],char post1[],char title1[],int wages1):person(name1,age1,sex1),teacher(name1,age1,sex1,title1),cadre(name1,age1,sex1,post1)
{
strcpy(name,name1);
age=age1;
strcpy(sex,sex1);
strcpy(post,post1);
strcpy(title,title1);
wages=wages1;
}
void show() const
{
cout<<"Name:"<<name<<endl;
cout<<"Age:"<<age<<endl;
cout<<"Sex:"<<sex<<endl;
cout<<"Post:"<<post<<endl;
cout<<"Title:"<<title<<endl;
cout<<"Wages:"<<wages<<endl;
cout<<endl;
}
};


不允许使用不完整类型
iostream 类 C++
[解决办法]
楼主可以检查下大括号的匹配,貌似少了一个右大括号。
[解决办法]
void teacher::show()方法后面少一个}
class cadre 没有};结束符啊

[解决办法]
cadre的类定义少了};
[解决办法]
赞同一楼观点,建议楼主检查一下有没有漏东西。
[解决办法]
粘贴代码不是有排版格式吗?为嘛不用啊,这么看多累啊
[解决办法]
主要是省了两个括号,你仔细检查一下,正确如下:

#include<iostream> 


using namespace std;
class person
{
protected:
char name[20];
int age;
char sex[5];
public:
person(char name1[],int age1,char sex1[])
{
strcpy(name,name1);
age=age1;
strcpy(sex,sex1);
}
void show() const
{
cout<<"Name:"<<name<<endl;
cout<<"Age:"<<age<<endl;
cout<<"Sex:"<<sex<<endl;
}
};
class teacher:virtual public person
{
protected:
char title[20];
char name[20];
int age;
char sex[5];
public:
teacher(char name1[],int age1,char sex1[],char title1[]):person(name1,age1,sex1)
{
strcpy(name,name1);
age=age1;
strcpy(sex,sex1);
strcpy(title,title1);
}
void show() const
{
cout<<"Name:"<<name<<endl;
cout<<"Age:"<<age<<endl;
cout<<"Sex:"<<sex<<endl;
cout<<"Title:"<<title<<endl;
}
};

class cadre:virtual public person
{
protected:
char name[20];
int age;
char sex[5];
char post[20];
public:
cadre(char name1[],int age1,char sex1[],char post1[]):person(name1,age1,sex1)
{
strcpy(name,name1);
age=age1;
strcpy(sex,sex1);
strcpy(post,post1);
}
void show() const
{
cout<<"Name:"<<name<<endl;
cout<<"Age:"<<age<<endl;
cout<<"Sex:"<<sex<<endl;
cout<<"Post:"<<post<<endl;
cout<<endl;
}
};
class teachercadre:public teacher,public cadre
{
protected:
char name[20];
int age;
char sex[5];
char post[20];
char title[20];
int wages;
public:
teachercadre(char name1[],int age1,char sex1[],char post1[],char title1[],int wages1):person(name1,age1,sex1),teacher(name1,age1,sex1,title1),cadre(name1,age1,sex1,post1)
{
strcpy(name,name1);
age=age1;
strcpy(sex,sex1);
strcpy(post,post1);
strcpy(title,title1);
wages=wages1;
}
void show() const
{
cout<<"Name:"<<name<<endl;
cout<<"Age:"<<age<<endl;
cout<<"Sex:"<<sex<<endl;
cout<<"Post:"<<post<<endl;
cout<<"Title:"<<title<<endl;
cout<<"Wages:"<<wages<<endl;
cout<<endl;
}
};
int main()
{
return 0;
}

热点排行