/*作业,定义一个学生类*//*数据成员:学号、姓名、数学、英语、计算机三科成绩*成员函数:求总成绩、求三科平均成绩、输出学生信息*新增一个生日类 2018.4.2*/#include#include using namespace std;class Data{public: Data(); Data(int ye, int mon, int da); Data(Data &da); void inf();private: int year; int month; int day;};class Student { //define a class called "Student"public: Student(int num, string na, int ma, int en, int cs, Data tp); //constructors Student(Student &stu); //Copy constructors ~Student(); int sum();//the sum grade int ave();//calculate the average grade void show();//show the details of the studentprivate: Data birthday; int number; string name; int math; int eng; int com;};Data::Data(){ year = 1998; month = 8; day = 3;}Data::Data(int ye = 0, int mon = 0, int da = 0){ year = ye; month = mon; day = da;}Data::Data(Data &da){ cout << endl << "Warnning:This Copy constructors.!!!" << endl; year = da.year; month = da.month; day = da.day;}void Data::inf(){ cout << "Birthday:" << year << "/" << month << "/" << day << endl;}//the realization of classStudent::Student(int num, string na, int ma, int en, int cs, Data tp) :birthday(tp) { number = num; name = na; math = ma; eng = en; com = cs;}Student::~Student(){}Student::Student(Student &stu) :birthday(stu.birthday) { cout << endl << "Warnning:This Copy constructors.!!!" << endl; number = stu.number; name = stu.name; math = stu.math; eng = stu.eng; com = stu.com;}int Student::sum() { return math + eng + com;}int Student::ave() { return (math + eng + com) / 3;}void Student::show() { cout << "Number:" << number << endl; cout << "Name:" << name << endl; birthday.inf(); cout << "Math score:" << math << endl; cout << "English score:" << eng << endl; cout << "Computer score:" << com << endl; cout << "Sum score:" << sum() << endl; cout << "Average score:" << ave() << endl;}//the mainint main() { Data tmp(2012, 12, 02); Student noob(001, "!#%$#^$%^", 90, 89, 88, tmp);//Initialization //output noob.show(); Student newbie(noob); //Copy constructors newbie.show(); return 0;}
- 测试结果