剩下一个成员函数不会写,该如何处理

剩下一个成员函数不会写
C/C++ code
 
/*
设计评选优秀教师和学生的程序
先定义一个基类CBase,类中有保护成员姓名:name[10],虚函数isgood()
由CBase派生两个类:student和teacher

在student中定义私有成员学号stunumber和考试成绩score1、score2、score3
定义setscore()设置三门成绩的值,并定义isgood()函数
如果学生平均成绩大于90分且最低分不低于85分,则isgood()返回ture,否则返回false

在teacher类中定义教工号teanumber和论文名称数组Paper[]
定义SetPaper()输入论文题目保存到Paper[]中
再定义isgood()函数
如果论文数目多于三篇则isgood()返回ture,否则返回false
最后设计完整的程序进行演示,输出评选结果
*/
#include <iostream.h>
#include <string.h>

class cbase
{
protected:
char name[10];
public:
cbase(char *p)
{
strcpy(name,p);
}
virtual void isgood(){};
};

class student:public cbase
{
private:
char *stunumber;
float score1,score2,score3;
public:
student(char *name,char *m):cbase(name),stunumber(m){};
        //student(char *name,char *m,float x,float y,float z):cbase(name),stunumber(m),setscore(x,y,z){};  ?不知道可否实现···
void setscore(float x,float y,float z);
void isgood();
};

class teacher:public cbase
{
private:
char *teanumber;
char paper[];
public:
teacher(char *name,char *m):cbase(name),teanumber(m){};
void setpaper()
{
···            //这里不会了
}
void isgood()
{
if(n>3)
cout < <"true";
else
cout < <"false";
}

};

void student::isgood()
{
cout < <name < <"\t\t" < <stunumber < <"\t\t";
float aver;
aver=(score1+score2+score3)/3;
if(aver>90&&score1>=85&&score2>=85&&score3>=85)
cout < <"true\n";
else
cout < <"false\n";
}

void student::setscore(float x,float y,float z)
{
score1=x;
score2=y;
score3=z;
}

void main()
{
cout < <"\nstudent:" < <endl < <"name\t\t" < <"number\t\t\t" < <"good\n";
student a("zhang","200603050202");
a.setscore(96,95,85);
a.isgood();
student b("wang","200603050101");
b.setscore(85,85,85);
b.isgood();
cout < <endl < <endl;
}
/*
其中的teacher里面的setpaper不会写了,我想也用student里的setscore相同的方法实现
还有一个问题就是:在初始化student成员列表的时候可不可以像这样student a("zhang","200603050202",85,95,100),直接把85.95.100三个书送给setscore,而不用单独写a.setscore(85,95,100)···
谢谢
*/



------解决方案--------------------
代码每行不要太长,注释也是如此。
------解决方案--------------------
这个没区别的,一般说来 一个h文件只定义一个类,不内联的话,实现写在cpp文件里
------解决方案--------------------
探讨
引用:
晕 setscore(x,y,z),我还以为setscore是一个类……
写在这里,和写在构造内部不是一样的

没看出第二贴的2种方法有啥区别


我的意思就是有3个类,其中的成员函数我在类体外定义
是先把所有的类定义完之后在同一一起定义成员函数
还是定义一个类之后就定义它的成员函数
然后再定义下一个类和它的成员函数
总得有一种习惯吧
不知道哪种好点呢

------解决方案--------------------
探讨
引用:
晕 setscore(x,y,z),我还以为setscore是一个类……
写在这里,和写在构造内部不是一样的

没看出第二贴的2种方法有啥区别


我的意思就是有3个类,其中的成员函数我在类体外定义
是先把所有的类定义完之后在同一一起定义成员函数
还是定义一个类之后就定义它的成员函数
然后再定义下一个类和它的成员函数
总得有一种习惯吧
不知道哪种好点呢