裁判测试程序样例中展示的是一段定义基类people、派生类student以及测试两个类的相关c++代码,其中缺失了部分代码,请补充完整,以保证测试程序正常运行。
时间: 2023-05-31 07:17:51 浏览: 512
### 回答1:
好的,以下是缺失的代码部分:
```c++
#include <iostream>
using namespace std;
class People {
public:
string name;
int age;
void display() {
cout << "Name: " << name << endl;
cout << "Age: " << age << endl;
}
};
class Student : public People {
public:
int grade;
void display() {
cout << "Name: " << name << endl;
cout << "Age: " << age << endl;
cout << "Grade: " << grade << endl;
}
};
int main() {
Student stu;
stu.name = "Tom";
stu.age = 18;
stu.grade = 90;
stu.display();
return ;
}
```
希望能对您有所帮助。
### 回答2:
在裁判测试程序样例中,展示了一个定义基类people和派生类student的示例代码,但是代码中有一些部分是缺失的。为了保证测试程序正常运行,需要我们补充完整代码。
首先,需要在people类中添加一些成员变量和成员函数。people类代表了所有人的基本信息,因此可以添加一些常见的人的信息,例如姓名、年龄、性别等成员变量。同时,需要添加相应的get和set函数来访问这些成员变量。
接下来,需要在student类中添加一些成员变量和成员函数。student类是从people类派生而来的,因此它应该包含people类的所有成员变量和成员函数,同时还应该添加一些专属的成员变量和成员函数。例如,可以添加学号、成绩等成员变量,并添加相应的get和set函数来访问这些成员变量。
最后,需要编写测试代码,来检验程序的正确性。测试代码应该包含创建一个people对象和一个student对象,并调用它们的各种成员函数来检验其是否按预期运行。例如,可以创建一个people对象,设置其姓名、年龄、性别等信息,然后使用get函数来获得这些信息,并检查它们是否正确。同样,还可以创建一个student对象,并设置其学号、成绩等信息,并使用get函数来获得这些信息,并检查它们是否正确。
通过以上的步骤,我们可以完整地补充裁判测试程序样例中的缺失代码,并验证程序的正确性。
### 回答3:
裁判测试程序样例中展示的代码包含了一个基类People和一个派生类Student,以及测试这两个类的相关C代码。但是代码中有部分缺失,需要人工补充完整。为了保证测试程序正常运行,需要按照下面的步骤进行补全。
首先,需要在代码中定义People类。People类是一个基类,声明了人员的一些基本属性,比如姓名、年龄、性别等等。为了能够在后面的测试代码中顺利调用People类的函数,需要为People类定义一个构造函数和一个析构函数。构造函数用于设置类的属性,析构函数用于释放类的资源。下面是People类的代码示例:
```
class People {
public:
People(); //构造函数
~People(); //析构函数
void SetName(char *name); //设置姓名
char *GetName(); //获取姓名
void SetAge(int age); //设置年龄
int GetAge(); //获取年龄
void SetGender(char gender); //设置性别
char GetGender(); //获取性别
private:
char m_name[64]; //姓名
int m_age; //年龄
char m_gender; //性别
};
```
接下来,需要定义Student类,它是一个派生类,继承了People类的属性和方法,并添加了学生的一些属性,比如学号、班级、成绩等等。为了方便后续测试代码的编写,需要为Student类定义一个构造函数和一个析构函数。构造函数用于初始化类的属性,析构函数用于释放类的资源。下面是Student类的代码示例:
```
class Student : public People {
public:
Student(); //构造函数
~Student(); //析构函数
void SetID(char *id); //设置学号
char *GetID(); //获取学号
void SetClass(char *class); //设置班级
char *GetClass(); //获取班级
void SetScore(float score); //设置成绩
float GetScore(); //获取成绩
private:
char m_id[32]; //学号
char m_class[32]; //班级
float m_score; //成绩
};
```
最后,需要编写测试代码,调用People类和Student类的函数,测试它们的正确性。测试代码需要创建一个People类的实例和一个Student类的实例,然后调用它们的Set和Get函数进行属性的赋值和获取。最后需要输出结果,进行验证。下面是测试代码的示例:
```
int main () {
//测试People类
People *pPeople = new People();
pPeople->SetName("张三");
pPeople->SetAge(20);
pPeople->SetGender('M');
printf("姓名:%s,年龄:%d,性别:%c\n", pPeople->GetName(), pPeople->GetAge(), pPeople->GetGender());
delete pPeople;
//测试Student类
Student *pStudent = new Student();
pStudent->SetName("李四");
pStudent->SetAge(22);
pStudent->SetGender('F');
pStudent->SetID("2021012345");
pStudent->SetClass("计算机科学与技术");
pStudent->SetScore(95.5);
printf("姓名:%s,年龄:%d,性别:%c,学号:%s,班级:%s,成绩:%f\n", pStudent->GetName(), pStudent->GetAge(), pStudent->GetGender(), pStudent->GetID(), pStudent->GetClass(), pStudent->GetScore());
delete pStudent;
return 0;
}
```
完整的代码示例如下所示:
阅读全文