C 筆記(二十)類模板

2021-08-16 05:01:18 字數 2616 閱讀 8621

/*私有繼承:使用私有繼承,基類的共有成員和保護成員都將成為派生類的私有成員

多重繼承:表示可以有多個基類。

*/#ifndef student

#define student

#include

#include

#include

using

std::string;

using

std::cout;

using

std::endl;

using

std::array;

//名稱類

class name

;//分數類

class score

;class student : private name,private score //私有多重繼承

;#endif // !student

#include "student.h"

name::name()

name::name(string namep)

string name::getname()

score::score()

score::score(double score0, double score1, double score2)

array

score::getscores()

student::student():name(),score()

student::student(string namep, double score0, double score1, double score2):name(namep),score(score0,score1,score2)

student::~student()

std::ostream & operator

<<(std::ostream &os, const student &stu)

int mainstudent()

/*使用template 定義模版

*/#ifndef stackn

#define stackn

template class stackn

; type items[max];

int top;

public:

stackn();

bool isempty();

bool isfull();

bool push(const type &item);

bool pop(type &item);

};#endif // !stackn

#include "stackn.h"

#include "student.h"

#include

using

std::count;

using

std::endl;

template

stackn::stackn()

template

bool stackn::isempty()

template

bool stackn::isfull()

template

bool stackn::push(const type &item)

items[top++] = item;

cout

<< "push stack["

<< top - 1

<< "] = "

<< item ;

return

true;

}template

bool stackn::pop(type &item)

item = items[--top];

cout

<< "pop stack["

<< top << "] = "

<< item ;

return

true;

}int main()

輸出結果:

push stack[1] = name:bbb scores:2.1,2.1,2.1

push stack[2] = name:ccc scores:1.1,1.1,1.1

push stack[3] = name:ddd scores:1.1,1.1,1.1

push stack[4] = name:eee scores:1.1,1.1,1.1

stack is full

pop stack[4] = name:eee scores:1.1,1.1,1.1

pop stack[3] = name:ddd scores:1.1,1.1,1.1

pop stack[2] = name:ccc scores:1.1,1.1,1.1

pop stack[1] = name:bbb scores:2.1,2.1,2.1

pop stack[0] = name:aaa scores:1.1,1.1,1.1

stack is empty

name:aaa scores:1.1,1.1,1.1

BizTalk開發系列 二十 型別作用域

biztalk 開發系列 orchestration中的type概念跟.net 裡的class一樣,可以在orchestration開過過程中將多個例項繫結到一種型別。orchestration 檢視裡包括的型別有port types multi part message types,correla...

opencv學習筆記二十 模板匹配

模板匹配就是拿模板去遍歷影象,在遍歷的每個位置計算結果,即匹配程度,opencv中 提供了 6 種計算方法 差值平方和匹配 cv tm sqdiff 標準化差值平方和匹配 cv tm sqdiff normed 相關匹配 cv tm ccorr 標準相關匹配 cv tm ccorr normed 相...

C 學習筆記二十一 函式模板與類模板

針對函式模板與類模板我想摒棄課本固有的理論知識定義,用我自己的話來見簡單的敘述作用以及概念。函式模板有什麼用?c 有很多基本的資料型別,比如 int double float 等等。我們在定義乙個函式時會定義乙個返回型別,表示函式返回值,但是這種返回值有乙個壞處,就是只能返回單一的資料型別。如果兩個...