求助c ,将student类转换为Teacher类,要求num,name,sex不变,我的代码没有错误,可是总是弹出对话框。

[复制链接]
查看11 | 回复1 | 2011-5-17 04:46:25 | 显示全部楼层 |阅读模式
非城勿扰,不要不是高手就来,分,我可以再加,只要你解决的好。以下是代码。
#includeiostream.h
#includestring
classTeacher
{
private:
        intnum;
        charname[20];
        charsex[2];
        charpos[20];
public:
        voiddisplay();
        friendvoidchangeT(Teacher
        //使用此函数主要为了可以改变Teacher类中的成员。
};
voidTeacher::display()
{
        coutthis-num;
        for(inti=0;i20;i)
                coutthis-name;
        for(intj=0;j2;j)
                coutthis-sex[j];
        for(intk=0;k20;k)
                coutthis-pos[k];
}
voidchangeT(Teacher
        strcpy(t.name,b);
        strcpy(t.sex,c);
        strcpy(t.pos,\"Teacher\");
}
classStudent
{
private:
        intnum;
        charname[20];
        charsex[2];
        charpos[20];
public:
        voidinput();
        friendTeacherchangeS(Student
        //使用此函数主要为了转换Student类对象成为Teacher类的对象
};
voidStudent::input()
{
        cinthis-num;
        for(inti=0;i20;i)
                cinthis-name;
        for(intj=0;j2;j)
                cinthis-sex[j];
        for(intk=0;k20;k)
                cinthis-pos[k];
}
TeacherchangeS(Student
inta;
charb[20];
charc[2];
a=x.num;
strcpy(b,x.name);
strcpy(c,x.sex);
changeT(d,a,b,c);
returnd;
}
intmain()
{
        Studentstu;
        Teachertea;
        cout\"Pleaseinputthestudent\'sinformation\"endl;
        tea=changeS(stu);
        cout\"Hereisthestudenttoteacher\'smassage!\"endl;
        tea.display();
        return0;       
}
回复

使用道具 举报

千问 | 2011-5-17 04:46:25 | 显示全部楼层
#includeiostream
#includestring
usingnamespacestd;

classTeacher
{
private:
        intnum;
        charname[20];
        charsex[2];
        charpos[20];
public:
        voiddisplay();
        friendvoidchangeT(Teacher
        //使用此函数主要为了可以改变Teacher类中的成员。
};
voidTeacher::display()
{
        coutthis-numendl;
        coutthis-nameendl;
        coutthis-sexendl;
        coutthis-posendl;
        //cout支持对于string的重载,无需单个字符输出
}
voidchangeT(Teacher
        strcpy(t.name,b);
        strcpy(t.sex,c);
        strcpy(t.pos,\"Teacher\");
}
classStudent
{
private:
        intnum;
        charname[20];
        charsex[2];
        charpos[20];
public:
        voidinput();
        friendTeacherchangeS(Student
        //使用此函数主要为了转换Student类对象成为Teacher类的对象
};
voidStudent::input()
{
        cinthis-num;
        cinthis-name;
        cinthis-sex;
        cinthis-pos;
        //cin有对于string的重载,无需单个字符输入
}
TeacherchangeS(Student
inta;
charb[20];
charc[2];
a=x.num;
strcpy(b,x.name);
strcpy(c,x.sex);
changeT(d,a,b,c);
returnd;
}
intmain()
{
        Studentstu;
        Teachertea;
        cout\"Pleaseinputthestudent\'sinformation\"endl;
        stu.input();
        //输入信息,初始化过程
        tea=changeS(stu);
        cout\"Hereisthestudenttoteacher\'smassage!\"endl;
        tea.display();
        return0;       
}
需要修改的地方用注释标出来了,你看一下吧,运行一下试试,应该没有问题
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行