类和对象——实验三
作者:miaomiao
题出自某高校实验作业
一、实验内容
建立一个名为 CStudent
的类,该类有以下几个属性:学号、姓名、成绩,并为上述属性定义相应的方法。
(注意掌握以下成员函数的使用:构造函数和析构函数、复制构造函数、内联成员函数、带默认形参值的成员函数。)
二、解答
定义类的代码
class CStudent {
private:
long long int num, grade = 0;
char name[15];
public:
CStudent(long long int n = 0);
CStudent(CStudent &cs);
~CStudent(){}
void InNum();
void InName();
void InGrade();
void Show();
};
类中成员函数实现的代码
CStudent::CStudent(long long int n) {
num = n;
}
CStudent::CStudent(CStudent &cs) {
num = cs.num;
strcpy_s(name, cs.name);
grade = cs.grade;
}
void CStudent::InNum() {
cout << "输入学号: ";
cin >> num;
}
void CStudent::InName() {
cin.get();
cout << "输入姓名: ";
cin.getline(name, 15);
}
void CStudent::InGrade() {
cout << "输入成绩: ";
cin >> grade;
}
inline void CStudent::Show() {
cout << "姓名: " << name << " 学号: " << num << endl << "成绩 = " << grade << endl;
}
完整程序
#include<iostream>
#include<cstring>
using namespace std;
class CStudent {
private:
long long int num, grade = 0;
char name[15];
public:
CStudent(long long int n = 0);
CStudent(CStudent &cs);
~CStudent(){}
void InNum();
void InName();
void InGrade();
void Show();
};
CStudent::CStudent(long long int n) {
num = n;
}
CStudent::CStudent(CStudent &cs) {
num = cs.num;
strcpy_s(name, cs.name);
grade = cs.grade;
}
void CStudent::InNum() {
cout << "输入学号: ";
cin >> num;
}
void CStudent::InName() {
cin.get();
cout << "输入姓名: ";
cin.getline(name, 15);
}
void CStudent::InGrade() {
cout << "输入成绩: ";
cin >> grade;
}
inline void CStudent::Show() {
cout << "姓名: " << name << " 学号: " << num << endl << "成绩 = " << grade << endl;
}
int main() {
CStudent cs1(1);
cs1.InNum();
cs1.InName();
cs1.InGrade();
CStudent cs2(2);
cs2.InNum();
cs2.InName();
cs2.InGrade();
CStudent cs3(cs2);
cs1.Show(); cs2.Show(); cs3.Show();
return 0;
}