student.cpp
来自「QT方面的开发」· C++ 代码 · 共 98 行
CPP
98 行
//start id="student"#include <QTextStream>#include "student.h"Student::Student(QString nm, long id, QString major, int year) : m_Name(nm), m_Major(major), m_StudentId(id), m_Year(year) {}QString Student::getClassName() const { return "Student";}QString Student::toString() const { QString retval; QTextStream os(&retval); /* We write to the stream, and return the string it uses. */ os << "[" << getClassName() << "]" << " name: " << m_Name << " Id: " << m_StudentId << " Year: " << yearStr() << " Major: " << m_Major ; return retval;}//endQString Student::yearStr() const { switch(m_Year) { case 1: return "fresh"; case 2: return "soph"; case 3: return "junior"; case 4: return "senior"; case 5: return "graduate student"; case 6: return "gradual student"; case 7: return "oldtimer"; case 8: return "relic"; } return "unknown";}//start id="undergrad"Undergrad::Undergrad(QString name, long id, QString major, int year) : Student(name, id, major, year) /* The base class object is considered a subobject of the derived object. Class members and base classes both must be initialized and cleaned up in an order determined by the order that they appear in the class definition. */ { }QString Undergrad::getClassName() const { return "Undergrad";} //end//start id="grad"GradStudent::GradStudent(QString nm, long id, QString major, int yr, Support support) :Student(nm, id, major, yr), m_Support(support) { }QString GradStudent::toString() const { QString result; QTextStream os(&result); os << Student::toString() /* base class version */ << "\n [Support: " /* ... plus items that are specific to GradStudent */ << supportStr(m_Support) << " ]\n"; return result;}//endQString GradStudent::supportStr(Support sup) { switch(sup) { case ta: return "ta"; case ra: return "ra"; case fellowship: return "fellowship"; case other: return "other"; } return "unknown";}QString GradStudent::getClassName() const { return "GradStudent";}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?