C++问题,高人进..

来源:百度知道 编辑:UC知道 时间:2024/05/26 17:31:43
求解错误..

#include"Person.h"
#include"employee.h"
#include"string.h"
#include<iostream>
using namespace std;
main()
{ float s[3]={99,99,99};
employee e1(1,15,"张熠",s,2000,1),e2;
e1.display();
return 0;
}

#include"string.h"
#include<iostream>
using namespace std;
class Person
{int id;
int age;
char name[20];
float score[3];
public:
person();
person(int i,int a,char n[20],float s[3]);
virtual void display();
void calscore();
};
class employee: public Person
{float wage;
int level;
public:
employee(int i,int,a,char n[20],float s[3],float w,int level)
:p{wage=w;level=l;}
virtual void display()
{display();wage=wage*(1+1.0/level);cout<<"工资:"<<wage<<endl;cout<<"工种:"<<level<<endl;}<

修改完了,错误很多,你自己写的么?
我把e2注释掉了。因为你用了strcpy(name, 0)。会出错。你自己想想怎么解决吧。e1可以了。
此外,我把所有的代码放在一个文件里面了。方便我调试。你可以自己再拆开。

#include<iostream>
#include"string.h"

using namespace std;

class person
{int id;
int age;
char name[20];
float score[3];
public:
person();
person(int i,int a,char n[20],float s[3]);
virtual void display();
void calscore();
};

person::person()
{id=0;age=0;strcpy(name,0);score[0]=0;score[1]=0;score[2]=0;}

person::person(int i,int a,char n[20],float s[3])
{id=i;age=a;strcpy(name,n);score[0]=s[1];score[1]=s[2];score[2]=s[2];}

void person::display()
{cout<<"学号是:"<<id<<endl;
cout<<"年龄是:"<<age<<endl;
cout<<"姓名是:"<<name<<endl;
cout<<"数学成绩是:"<<score[0]<<endl;
cout<<"