重型罐式货车视频素材:有一段C++编译不过,能帮我看看嘛?谢谢了

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/10 01:56:55
#include <iostream.h>
#include <stdlib.h>
#include <string.h>

class Name
{
protected:
char *name;
public:
Name(char *n)
{
name=new char[strlen(n)+1];
strcpy(name,n);
};
virtual void disp()=0;

char* getName()
{
return name;
};

virtual ~Name()
{
delete name;
};
};

class Teacher:virtual protected Name
{
private:
int sumscore;
public:
Teacher(char *n,int s):Name(n)
{
sumscore=s;
};
void disp()
{
if(sumscore>5)
cout<<this->getName()<<"\t"<<sumscore<<endl;
};
};

class Student:virtual protected Name
{
private:
int score;
public:
Student(char* n,int s):Name(n)
{
score=s;
};
void disp()
{
if(score>90)
cout<<this->getName()<<"\t"<<score<<endl;
};
};

void main()
{
Name *p[2][3];
int i,j;

for(i=0;i<3;i++)
{
cout<<"第"<<i+1<<"条";
char n[20];
int num;
cout<<"请输入学生姓名:"; cin>>n;
cout<<"请输入学生成绩:"; cin>>num;
p[0][i]=new Student(n,num);
system("cls");
}

for(i=0;i<3;i++)
{
cout<<"第"<<i+1<<"条";
char n[20];
int num;
cout<<"教师姓名:"; cin>>n;
cout<<"请输入教师论文得分:"; cin>>num;
p[1][i]=new Teacher(n,num);
system("cls");
}

system("cls");

for(i=0;i<2;i++)
for(j=0;j<3;j++)
{
p[i][j]->disp();
delete p[i][j];
}
}

问问题的地方不对
另外这段程序干什么的最好写出来,不然看起来太麻烦了