使用指针指向通过new 动态创建学生对象,并输入学生信息,成绩信息,计算学生总分输出,并调用delete释放学生对象,通过sizeof比较new创建的学生对象和直接定义的变量的大小用c++实现
时间: 2024-05-16 22:12:13 浏览: 54
学生成绩管理系统.cpp 使用C++实现的
好的,这是一道计算机编程相关的问题。那么让我来回答吧。
首先,我们可以通过以下代码创建一个学生对象,并输入学生信息、成绩信息,计算学生总分并输出:
```
#include <iostream>
using namespace std;
class Student {
public:
string name; // 学生姓名
int age; // 学生年龄
float mathScore; // 数学成绩
float englishScore; // 英语成绩
float totalScore; // 总成绩
// 构造函数
Student() {
name = "";
age = 0;
mathScore = 0;
englishScore = 0;
totalScore = 0;
}
// 输入学生信息函数
void inputInfo() {
cout << "请输入学生姓名:";
cin >> name;
cout << "请输入学生年龄:";
cin >> age;
cout << "请输入数学成绩:";
cin >> mathScore;
cout << "请输入英语成绩:";
cin >> englishScore;
}
// 计算总分函数
void calcTotal() {
totalScore = mathScore + englishScore;
}
// 输出学生信息和总分函数
void outputInfo() {
cout << "学生姓名:" << name << endl;
cout << "学生年龄:" << age << endl;
cout << "数学成绩:" << mathScore << endl;
cout << "英语成绩:" << englishScore << endl;
cout << "总成绩:" << totalScore << endl;
}
};
int main() {
// 创建一个指针,指向通过new动态创建的学生对象
Student* stu = new Student();
// 输入学生信息
stu->inputInfo();
// 计算学生总分
stu->calcTotal();
// 输出学生信息和总分
stu->outputInfo();
// 释放学生对象
delete stu;
return 0;
}
```
接下来,我们可以通过以下代码直接定义一个学生变量,并输入学生信息、成绩信息,计算学生总分并输出:
```
#include <iostream>
using namespace std;
class Student {
public:
string name; // 学生姓名
int age; // 学生年龄
float mathScore; // 数学成绩
float englishScore; // 英语成绩
float totalScore; // 总成绩
// 构造函数
Student() {
name = "";
age = 0;
mathScore = 0;
englishScore = 0;
totalScore = 0;
}
// 输入学生信息函数
void inputInfo() {
cout << "请输入学生姓名:";
cin >> name;
cout << "请输入学生年龄:";
cin >> age;
cout << "请输入数学成绩:";
cin >> mathScore;
cout << "请输入英语成绩:";
cin >> englishScore;
}
// 计算总分函数
void calcTotal() {
totalScore = mathScore + englishScore;
}
// 输出学生信息和总分函数
void outputInfo() {
cout << "学生姓名:" << name << endl;
cout << "学生年龄:" << age << endl;
cout << "数学成绩:" << mathScore << endl;
cout << "英语成绩:" << englishScore << endl;
cout << "总成绩:" << totalScore << endl;
}
};
int main() {
// 直接定义一个学生变量
Student stu;
// 输入学生信息
stu.inputInfo();
// 计算学生总分
stu.calcTotal();
// 输出学生信息和总分
stu.outputInfo();
return 0;
}
```
最后,我们可以通过以下代码使用sizeof比较new创建的学生对象和直接定义的变量的大小:
```
#include <iostream>
using namespace std;
class Student {
public:
string name; // 学生姓名
int age; // 学生年龄
float mathScore; // 数学成绩
float englishScore; // 英语成绩
float totalScore; // 总成绩
// 构造函数
Student() {
name = "";
age = 0;
mathScore = 0;
englishScore = 0;
totalScore = 0;
}
// 输入学生信息函数
void inputInfo() {
cout << "请输入学生姓名:";
cin >> name;
cout << "请输入学生年龄:";
cin >> age;
cout << "请输入数学成绩:";
cin >> mathScore;
cout << "请输入英语成绩:";
cin >> englishScore;
}
// 计算总分函数
void calcTotal() {
totalScore = mathScore + englishScore;
}
// 输出学生信息和总分函数
void outputInfo() {
cout << "学生姓名:" << name << endl;
cout << "学生年龄:" << age << endl;
cout << "数学成绩:" << mathScore << endl;
cout << "英语成绩:" << englishScore << endl;
cout << "总成绩:" << totalScore << endl;
}
};
int main() {
// 创建一个指针,指向通过new动态创建的学生对象
Student* stu1 = new Student();
// 直接定义一个学生变量
Student stu2;
// 输出new创建的学生对象和直接定义的变量的大小
cout << "new创建的学生对象大小为:" << sizeof(*stu1) << endl;
cout << "直接定义的学生变量大小为:" << sizeof(stu2) << endl;
// 释放学生对象
delete stu1;
return 0;
}
```
以上就是使用指针指向通过new动态创建学生对象,并输入学生信息、成绩信息,计算学生总分输出,并调用delete释放学生对象,通过sizeof比较new创建的学生对象和直接定义的变量的大小用c实现的方法了。
阅读全文