求大神指教,为什么最后一个对象C输出不了年龄“10”啊!!!
代码如下:
#include<iostream>
using namespace std;class Person{
private:
char name[6],sex[6];
int age;
public:
Person(char *na=0,int ag=0,char *se=0){strcpy(name,na);age=ag;strcpy(sex,se);}
void show (){cout<<name<<age<<sex<<endl;}
char *getname(){return name;}
char *getsex(){return sex;}
int getage(){return age;}
};
class Teacher:public Person{
private:
char title[10];
public :
Teacher(char *na=0,int ag=0,char *se=0,char *t=0):Person(na,ag,se)
{strcpy(title,t);}
void show(){cout<<getname()<<getage()<<getsex()<<title<<endl;}
};
class Cadre:public Person{
private:
char post[10];
public :
Cadre(char *na=0,int ag=0,char *se=0,char *p=0):Person(na,ag,se)
{strcpy(post,p);}
void show(){cout<<getname()<<getage()<<getsex()<<post<<endl;}
};
void main()
{
Person P("Merlin",21,"male");
P.show();
Teacher TE("ZHENG",100,"male","math");
TE.show();
Cadre C ("JI",10,"female","assitance");
C.show();
}
运行结果:
Merlinmale21male
ZHENG100malemath
JI0femaleassitance
Press any key to continue
为什么第三行的JI后面不是10而是0啊????