C++高手都来看看呐,帮忙看一下错在哪里啊。

来源:百度知道 编辑:UC知道 时间:2024/06/07 19:54:55
#include"iostream.h"
class nameid
{
private:
char name;int id;
public:
nameid(char p,int d)
{name=p;id=d;}
virtual void print()
{cout<<"Name : "<<name<<" ID : "<<id<<endl;}
};
class student:virtual public nameid
{
private:
int classa,grade;
public:
student(char n1,int i1,int c,int g):nameid(n1,i1)
{classa=c;grade=g;}
void print()
{cout<<"Class : "<<classa<<" Grade : "<<grade<<endl;}
};
class teacher:virtual public nameid
{
private:
int age;
public:
teacher(int a,char n,int i):nameid(n,i)
{age=a;}
void print()
{cout<<"Age : "<<age<<endl;}
};
class score:virtual public student
{
private:
int math,english,chinese,chemical;
public:
score(char n1,int i1,

改完了,能运行,呵呵 ,加分吧
大部分错误是因为没有默认构造函数
比如class nameid{…………}
如果你想nameid x;
那么在class nameid里必须有一个无参数的构造函数

#include <iostream>
using namespace std;

class nameid
{
private:
char name;int id;
public:
nameid(){}
nameid(char p,int d){name=p;id=d;}
virtual void print(){cout<<"Name : "<<name<<" ID : "<<id<<endl;}
};

class student:public nameid
{
private:
int classa,grade;
public:
student(){}
student(char n1,int i1,int c,int g):nameid(n1,i1){classa=c;grade=g;}
void print(){cout<<"Class : "<<classa<<" Grade : "<<grade<<endl;}
};

class teacher:virtual public nameid
{
private:
int age;
public:
teacher(){}
teacher(int a,char n,int i):nameid(n,i){age=a;}
void print(){cout<<"A