R6-1 写出派生类构造方法(C++) 分数 10 全屏浏览题目 切换布局 作者 周强 单位 青岛大学 裁判测试程序样例中展示的是一段定义基类People、派生类Student以及测试两个类的相关C++代码,其中缺失了部分代码,请补充完整,以保证测试程序正常运行。 函数接口定义: 提示: 观察类的定义和main方法中的测试代码,补全缺失的代码。 裁判测试程序样例: 注意:真正的测试程序中使用的数据可能与样例测试程序中不同,但仅按照样例中的格式调用相关函数。 #include <iostream> using namespace std; class People{ private: string id; string name; public: People(string id, string name){ this->id = id; this->name = name; } string getId(){ return this->id; } string getName(){ return name; } }; class Student : public People{ private: string sid; int score; public: Student(string id, string name, string sid, int score) /** 你提交的代码将被嵌在这里(替换此行) **/ } friend ostream& operator <<(ostream &o, Student &s); }; ostream& operator <<(ostream &o, Student &s){ o << "(Name:" << s.getName() << "; id:" << s.getId() << "; sid:" << s.sid << "; score:" << s.score << ")"; return o; } int main(){ Student zs("370202X", "Zhang San", "1052102", 96); cout << zs << endl; return 0; } 输入样例: (无) 输出样例: (Name:Zhang San; id:370202X; sid:1052102; score:96) 代码长度限制 16 KB 时间限制 100 ms 内存限制 2 MB
时间: 2024-04-04 22:29:50 浏览: 24
class Student : public People{
private:
string sid;
int score;
public:
Student(string id, string name, string sid, int score) : People(id, name){
this->sid = sid;
this->score = score;
}
friend ostream& operator <<(ostream &o, Student &s);
};
相关问题
R6-1 写出派生类构造方法(C++) 分数 10 全屏浏览题目 切换布局 作者 周强 单位 青岛大学 裁判测试程序样例中展示的是一段定义基类People、派生类Student以及测试两个类的相关C++代码,其中缺失了部分代码,请补充完整,以保证测试程序正常运行。 函数接口定义: 提示: 观察类的定义和main方法中的测试代码,补全缺失的代码。 裁判测试程序样例: 注意:真正的测试程序中使用的数据可能与样例测试程序中不同,但仅按照样例中的格式调用相关函数。 #include <iostream>
class People{
protected:
char *name;
int age;
public:
People(char *n, int a){
name = new char[strlen(n)+1];
strcpy(name, n);
age = a;
}
~People(){
delete []name;
}
};
class Student: public People{
private:
float score;
public:
// 请在此处补充派生类构造方法
Student(char *n, int a, float s): People(n, a){
score = s;
}
~Student(){}
};
int main(){
Student stu("Tom", 16, 90.5);
return 0;
}
6-2 写出派生类构造方法(C++) 分数 5 作者 周强 单位 青岛大学 裁判测试程序样例中展示的是一段定义基类People、派生类Student以及测试两个类的相关C++代码,其中缺失了部分代码,请补充完整,以保证测试程序正常运行。 函数接口定义:
以下是完整的代码示例:
```c++
#include <iostream>
using namespace std;
class People {
protected:
string name;
int age;
public:
People(string n, int a) : name(n), age(a) {}
void display() {
cout << "Name: " << name << endl;
cout << "Age: " << age << endl;
}
};
class Student : public People {
private:
int score;
public:
Student(string n, int a, int s) : People(n, a), score(s) {}
void show() {
display();
cout << "Score: " << score << endl;
}
};
int main() {
Student stu("Tom", 18, 90);
stu.show();
return 0;
}
```
其中,派生类 `Student` 的构造方法如下所示:
```c++
Student(string n, int a, int s) : People(n, a), score(s) {}
```
在构造方法中,首先使用 `:` 符号调用基类 `People` 的构造方法,并传入参数 `n` 和 `a`,然后再初始化派生类 `Student` 的成员变量 `score`。