【專案一】設計一個學生類,學生的基本資訊有學號、姓名、年齡、性別和班級職務(班長、學習委員、團支書和學生)等,通過增加建構式,使物件在定義時能夠對其資料成員進行初始化。其中,性別的默認值為“男”,班級職務默認為“學生”。具體要求如下:
(1) 設計建構式,完成對物件資料成員的初始化。其中,資料成員初始化采用成員初始化串列。
(2) 設計一個加分函式,針對學生的班級職務進行加分。如果是普通學生不加分,班長加5分,學習委員加3分,團支書加2分。
(3) 設計輸出函式,輸出的基本資訊,以及該生應該加的分數。
求求了,不會啊,有沒有大佬給個幫助。
uj5u.com熱心網友回復:
太晚了,明天給你事例一下uj5u.com熱心網友回復:
#include <iostream>
#include <string>
using namespace std;
class Student
{
public:
// id: 學號
// sName: 姓名
// iAge: 年齡
// sXb: 性別, M:男,F:女
// iZw: 職務, 0:學生,1:班長,2:學習委員,3:團支書
Student(string id, string sName, int iAge, string sXb = "M", int iZhiwu = 0);
void print();
private:
int getScore(); //獲得加分,沒考慮擔任多個職務的情況
string m_sId;
string m_sName;
int m_iAge;
string m_sXb;
int m_iZw;
};
Student::Student(string id, string sName, int iAge, string sXb, int iZw) :
m_sId(id), m_sName(sName), m_iAge(iAge), m_sXb(sXb), m_iZw(iZw)
{
}
void Student::print()
{
cout << "ID: " << m_sId << " Name: " << m_sName << " Age: " << m_iAge << " Xb: " << m_sXb << " iZw: " << m_iZw << " Score: " << getScore() << endl;
}
int Student::getScore()
{
static int scores[] = { 0,5,3,2 }; //得分表,與職務序號對應
return scores[m_iZw];
}
int main(int argc, char *argv[])
{
//例: 女,學習委員
Student a("001", "Lili", 15, "F", 2);
a.print();
return 0;
}
uj5u.com熱心網友回復:
十分感謝大佬
uj5u.com熱心網友回復:
樓主我覺得你初始化的時候,要用參考,這樣效率更高,特別是對于長字串更是如此,否則你的拷貝不行的。uj5u.com熱心網友回復:
我回的2樓的,哈哈樓主!uj5u.com熱心網友回復:
大哥們不需要這么勞累吧
uj5u.com熱心網友回復:
真的感動我是個大一學生,期末交報告,真的感動。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/56509.html
標籤:C++ 語言
上一篇:求助 簡單字串加密
下一篇:請教關于VS Code的問題
