//佣金雇員類,薪水完全是銷售提成
/*#ifndef x //先測試x是否被巨集定義過
#define x
程式段 1 //如果x沒有被巨集定義過,定義x,並編譯程式段 1
#endif
程式段 2 //如果x已經定義過了則編譯程式段2的語句,「忽視」程式段 1。
*/#ifndef commision_h
#define commision_h
#include using namespace std;
class commisionemployee
;#endif
#include "commisionemployee.h"
#include commisionemployee::commisionemployee( const string &first,const string &last,
const string &ssn,double sales,double rate)
commisionemployee::~commisionemployee()
void commisionemployee::setfirstname(const string &first)
string commisionemployee::getfirstname()
void commisionemployee::setlastname(const string &last)
string commisionemployee::getlastname()
void commisionemployee::setsocialsecuritynumber(const string &ssn)
string commisionemployee::getsocialsecuritynumber()
void commisionemployee::setgrosssales(double sales)
double commisionemployee::getgrosssales()
void commisionemployee::setcommisionrate(double rate)
double commisionemployee::getcommisionrate()
double commisionemployee::earnings()
void commisionemployee::print()
//帶底薪佣金雇員類,薪水由底薪和提成構成
#ifndef basepluscommisionemployee_h
#define basepluscommisionemployee_h
#include "commisionemployee.h"
#include using namespace std;
class basepluscommisionemployee :public commisionemployee
;#endif
#include "basepluscommisionemployee.h"
#include using namespace std;
basepluscommisionemployee::basepluscommisionemployee(const string &first,
const string &last,const string &ssn,double sales,double rate,double salary)
:commisionemployee(first,last,ssn,sales,rate)
basepluscommisionemployee::~basepluscommisionemployee()
void basepluscommisionemployee::setbasesalary(double salary)
double basepluscommisionemployee::getbasesalary()
double basepluscommisionemployee::earnings()
void basepluscommisionemployee::print()
#include "basepluscommisionemployee.h"
#include "commisionemployee.h"
#include #include using namespace std;
//這個例項旨在明晰繼承關係中的析構函式與構造函式呼叫順序!!!
int main()
system("pause >> cout");
return 0;
}
C 大學基礎教程 11 10
ifndef string h define string h include using namespace std class string bool operator bool operator const string right const 寫內聯函式的時候忘記寫引數,bool opera...
C 基礎教程物件導向(學習筆記5(2))
在編寫具有多個建構函式的類 大多數建構函式 時,必須為每個建構函式中的所有成員指定預設值會導致冗餘 如果更新成員的預設值,則需要觸控每個建構函式。從c 11開始,可以直接為普通類成員變數 不使用static關鍵字的變數 提供預設初始化值 class rectangle void print int ...
C 基礎教程物件導向(學習筆記(23))
過載一元運算子 與您目前看到的運算子不同,正 負 和邏輯非 運算子都是一元運算子,這意味著它們只能在乙個運算元上執行。因為它們僅對它們所應用的物件進行操作,所以通常將一元運算子過載實現為成員函式。所有三個運算元都以相同的方式實現。讓我們看一下我們如何在前面的例子中使用的cents類上實現operat...