基於《萬能擇優器》的專案增加了自定義類的指標型變數的使用。和輸出運算子的過載的使用。
增加的**如下:
過載了輸出流的《運算子
friend ostream&
operator
<<
( ostream & os,
const student &other)
;
ostream&
operator
<<
( ostream & os,
const student &other)
測試**:
student stu1
("王曉華",30
);student stu2
("王大偉",21
);//將類放在自定義的容器內
vector
stulist(2
);stulist[0]
=stu1;
stulist[1]
=stu2;
for(
int i=
0;igetsize()
;i++
)
在前文的基礎上一切ok。
當切換成 student * 操作出現這樣的結果。
student stu1
("王曉華",30
);student stu2
("王大偉",21
);//將類放在自定義的容器內
vector
>
stulist(2
);stulist[0]
=&stu1;
stulist[1]
=&stu2;
for(
int i=
0;igetsize()
;i++
)
其實很容易理解嗎這就是把物件的位址直接輸出了,那問題出現在哪了呢?
斷點除錯一下發現普通型別時會在使用到《時呼叫對應的《的過載函式ostream& operator<
而在使用student* 時並沒有去呼叫《的過載函式,沒錯他不認識student*的變數,他找不到合適的過載函式自然就不會去輸出正確的結果了,有了這個結果我們在過載一次《運算子:
ostream& operator<
**如下:
friend ostream&
operator
<<
( ostream & os,
const student *other)
;
ostream&
operator
<<
( ostream & os,
const student *other)
這樣便可以如願以償的得到預想的結果了。
好了!關於這個萬能陣列的測試就暫告一段落了!
萬能的分頁類
支援任意型別的分頁樣式 to change this template,choose tools templates and open the template in the editor.分頁類 使用方式 page new page page init 1000,20 page setnotact...
c語言萬能程式設計模板 C語言利用模板實現簡單的棧類
主要的功能是實現乙個後進先出的列表,有入棧 出棧 返回大小 判空等基本功能 pragma once using namespace std const int maxsize 0xfff template class class linkstack int top type my s int max...
裝飾器的幾種形式 萬能裝飾器
1.無參無返回值 def setfunc func def print start func print end setfunc defshow print show show 在不改變原函式呼叫釋放下 新增了功能 start show end2.無參有返回值 def setfunc func de...