第13章 類繼承

2021-07-06 03:16:05 字數 2673 閱讀 3093

標頭檔案:

#ifndef tabletenn1_h_

#define tabletenn1_h_

#includeusing namespace std;

class tabletennisplayer

void resettable(bool v)

};class ratedplayer:public tabletennisplayer

void resetrating(int r)

};#endif

函式實現:
#include#include"tabtenn1.h"

using namespace std;

tabletennisplayer::tabletennisplayer(const string &fn,const string &ln,bool ht)

void tabletennisplayer::name()const

long acctnum()

public:

acctabc(const string &s="none",long an=-1,double bal=0.0);

void deposit(double amt);

virtual void withdraw(double amt)=0;

double balance()

virtual void viewacct()=0;

virtual ~acctabc(){};

};class brass:public acctabc;};

class brassplus:public brass

void restrate(double r)

void restowes()

};#endif

函式實現:
#include#include"acctabc.h"

using namespace std;

acctabc::acctabc(const string &s,long an,double bal) //在類的實現部分 不能有預設的引數值 否則會導致重定義

void acctabc::deposit(double amt)

void acctabc::withdraw(double amt)

brass::brass(const string &s,long an,double bal):acctabc(s,an,bal) //在類的實現部分 不能有預設的引數值 否則會導致重定義

void brass::withdraw(double amt)

if(kind==1)

else

// while (cin.get()!='\n')

// continue; 後面的不合法輸入在緩衝中的給清理掉,為下一次輸入掃清障礙。還要明白一點cin.get()是不會忽略空格和回車的,

//每次輸入的最後你總是敲擊enter以表明你的輸入結束從而為上述語句總能處理成功提供保障。

}for(int i=0;iviewacct();

coutp[0]->viewacct();

for(int i=0;i標頭檔案:

#ifndef dma_h_

#define dma_h_

#includeusing namespace std; //倆個要一起用 有第二個必須要有第乙個

class basedma

;class lackdma:public basedma

; char color[len];

public:

lackdma(char *l="none",int r=0,char *c="none");

lackdma(const basedma &b,char *c="none");

friend ostream &operator<<(ostream &os,const lackdma &l);

};class hasdma:public basedma

;#endif

函式實現:

#include"dma.h"

#include#includeusing namespace std;

basedma::basedma(char *l,int r)

basedma::basedma(const basedma &rs)

basedma &basedma::operator=(const basedma &rs)

ostream &operator<<(ostream &os,const basedma &b)

{ os<<"label:"<#include#include"dma.h"

using namespace std;

int main()

{ basedma shirt("portable",8);

lackdma ballon("red",4,"blimpo");

hasdma map("mercator",5,"buffer");

cout<<"display basedma object:\n";

cout<

第13章 演算法

一 字串反轉 void char reverse char cha 呼叫 如下 char ch hello,world char reverse ch 二 鍊錶反轉 返回反轉後的煉表頭結點 return newh 三 有序陣列合併 將有序陣列a和b的值合併到乙個陣列result當中,且仍然保持有序 ...

第12章 繼承

1 單一繼承 2 多重繼承 3 繼承的賦值 1 將派生類的物件賦值給基類的物件 例如father p son s p s 會呼叫賦值運算子 將左邊物件的成員賦值給右邊物件的成員 不能將基類的物件賦值給派生類的物件,因為要呼叫賦值運算子 基類物件中沒有派生類物件自己的成員 2 基類的指標或者引用指向派...

第13章 物件導向程式設計 13

13.13.3 迭代器 randseq和anyiter 1.randseq from random import choice class randseq object def init self,seq self.data seq def iter self return self def nex...