用C++实现以下功能“3.编写一个研究生类GStudent。 A.该类包含变量字符串research,整型变量grade b. 无参数构造, research=“AI”;有参数构造函数。 c. 改写study 输出:grade+“年级研究生”+name+“正在研究”+ research d.以指针形式调用多态性,并在程序最末尾删除实例。”
时间: 2024-03-06 08:49:11 浏览: 61
好的,下面是用C++实现的代码:
```c++
#include <iostream>
#include <cstring>
using namespace std;
class GStudent {
public:
GStudent() : research("AI"), grade(1) {}
GStudent(const char* name, int age, const char* research, int grade)
: grade(grade) {
strcpy(this->name, name);
this->age = age;
strcpy(this->research, research);
}
virtual void Study() {
cout << grade << "年级研究生" << name << "正在研究" << research << endl;
}
virtual ~GStudent() {}
protected:
char name[20], research[20];
int age, grade;
};
int main()
{
GStudent* gs = new GStudent("Tom", 25, "Computer Vision", 2);
gs->Study();
delete gs;
return 0;
}
```
代码逻辑如下:
1. 定义一个名为GStudent的类。
2. 在类中定义保护成员变量name、age、research和grade。
3. 定义无参数构造函数,将research初始化为"AI",grade初始化为1。
4. 定义有参数构造函数,用于初始化成员变量。
5. 定义虚函数Study,用于输出grade+"年级研究生"+name+"正在研究"+research的信息。
6. 定义虚析构函数。
7. 在main函数中创建一个GStudent对象gs,并用构造函数为其成员变量赋值。
8. 通过指针调用gs的Study函数输出信息。
9. 在程序最后通过delete关键字删除gs对象,释放内存。
希望这个代码可以帮助你!
阅读全文