青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
5D空間
學習總結與經驗交流
::
首頁
::
新隨筆
::
聯(lián)系
::
聚合
::
管理
::
留言簿
給我留言
查看公開留言
查看私人留言
隨筆分類
(18)
解題報告
(rss)
困難與疑問(3)
(rss)
思考中
(rss)
我的開源庫(5)
(rss)
學習筆記(10)
(rss)
文章分類
5DC++
(rss)
轉載與分享
(rss)
搜索
積分與排名
積分 - 18991
排名 - 860
最新隨筆
1.?C++中對浮點數(shù)的格式化顯示
2.?PointerPool(指針池)
3.?類型轉換操作符
4.?VS2010實用小記
5.?關于二重模板 小記1
6.?模板的聲明與實現(xiàn)的分離方法
7.?多重繼承、二義性、虛基類(虛繼承)之我見
8.?LHRODT(非遞歸求解度數(shù)為2的線性齊次方程的第n項)
9.?類實例化時 默認構造函數(shù)調用 小記
10.?probability(概率發(fā)生器)
11.?findAnWithDegreeOfTwo(計算度數(shù)為2的齊次遞歸數(shù)列的第n項)
12.?Zeller(計算某一天是星期幾)
13.?【求助】如何在繼承中隱藏基類的某些公共接口?
14.?【求助】如何限制模板接受的類型?
15.?關于類模板的友元函數(shù)
最新評論
1.?re: 【求助】如何在繼承中隱藏基類的某些公共接口?
評論內容較長,點擊標題查看
--wjq
2.?re: 【求助】如何在繼承中隱藏基類的某些公共接口?
在派生類中使用using關鍵字,在private中聲明基類你想隱藏的公共接口就可以了。
--wjq
3.?re: 多重繼承、二義性、虛基類(虛繼承)之我見
可以啊,自慰.@自己繼承自己
--CL
4.?re: 多重繼承、二義性、虛基類(虛繼承)之我見
孩子,代碼打錯了。
class C : public C
自己繼承自己?
--自己繼承自己
5.?re: probability(概率發(fā)生器)
逗號 表達式
從左到右計算,然后只取最后一個值....
--egmkang
閱讀排行榜
1.?多重繼承、二義性、虛基類(虛繼承)之我見(3475)
2.?模板的聲明與實現(xiàn)的分離方法(2157)
3.?PointerPool(指針池)(1885)
4.?probability(概率發(fā)生器)(1506)
5.?關于二重模板 小記1(1335)
關于二重模板 小記1
摘要:二重模板有什么用,什么情況下使用二重模板,對二重模板進行的某種特化進行重載,=以及拷貝構造函數(shù)在二重模板中的注意事項
小記1是因為這個話題很可能還有其他小記。
在模板下定義一個類,類的方法包括重載的運算符往往可以處理這個類模板對于相同類型參數(shù)的特化的對象。但是有時候我們往往希望一個類模板的特化對象的方法還可以處理這個類模板其他特化的對象。一種辦法是利用類的性質定義轉換構造函數(shù)(convert constructor ),但是我們可以使用模板得到一種更通用的方法,那就是在類模板中定義二重模板。
定義方法很簡單,下面的例子會展示。注意內層模板的參數(shù)應該與外層模板不一樣,而且定義的時候應該使用兩層template。
對于一般的函數(shù)和運算符,通常來說,如果只定義一個二重模板的方法,它既可以處理不同類型的特化對象,也可以處理相同類型的特化對象(即T和C是相同類型)。如果在外層模板中另外定義了一個普通的同名方法(以處理相同類型的特化對象),那么在處理相同類型的特化對象時,則會調用這一套方法。這有點像對模板特化進行重載(告訴編譯器在特殊情況,這里是特化類型相同,應該使用另外一套方法)。
例如:
如果把8行和14~18行注釋掉,那么輸出結果均為兩行 接受不同類型。
1
#include
<
iostream
>
2
using
namespace
std;
3
4
template
<
typename T
>
5
class
A
6
{
7
public
:
8
void
function(
const
A
<
T
>
&
);
9
10
template
<
typename C
>
11
void
function(
const
A
<
C
>
&
);
12
}
;
13
14
template
<
typename T
>
15
void
A
<
T
>
::function(
const
A
<
T
>
&
)
16
{
17
cout
<<
"
接受相同類型
"
<<
endl;
18
}
19
20
template
<
typename T
>
21
template
<
typename C
>
22
void
A
<
T
>
::function(
const
A
<
C
>
&
)
23
{
24
cout
<<
"
接受不相同類型
"
<<
endl;
25
}
26
27
int
main()
28
{
29
A
<
int
>
a;
30
A
<
int
>
b;
31
A
<
double
>
c;
32
33
a.function( b );
34
a.function( c );
35
}
但是對于復制操作符和拷貝構造函數(shù)來說,情況有些不一樣。因為編譯器會為沒有定義的類提供默認=以及拷貝構造函數(shù),根據上面的分析,這個默認的東西相當于對二重模板中特殊情況的重載,所以如果只有一個二重模板,那么它將不能處理相同類型的類模板特化的對象。而這時,程序會調用編譯器提供的默認=以及拷貝構造函數(shù),而這往往是我們不想要的(我們需要自己定制的=以及拷貝構造函數(shù)啊)。所以這時,我們需要自己定制一套非二重模板的=或者拷貝構造函數(shù)來滿足需求。
例如:
如果把8行和14~18行注釋掉,那么輸出結果只有一行 為不同類型調用=號 ,因為另外一句話調用了編譯器提供的默認=號,所以并沒有任何輸出。
1
#include
<
iostream
>
2
using
namespace
std;
3
4
template
<
typename T
>
5
class
B
6
{
7
public
:
8
void
operator
=
(
const
B
<
T
>
&
);
9
10
template
<
typename C
>
11
void
operator
=
(
const
B
<
C
>
&
);
12
}
;
13
14
template
<
typename T
>
15
void
B
<
T
>
::
operator
=
(
const
B
<
T
>
&
)
16
{
17
cout
<<
"
為相同類型調用=號
"
<<
endl;
18
}
19
20
template
<
typename T
>
21
template
<
typename C
>
22
void
B
<
T
>
::
operator
=
(
const
B
<
C
>
&
)
23
{
24
cout
<<
"
為不同類型調用=號
"
<<
endl;
25
}
26
27
int
main()
28
{
29
B
<
int
>
a;
30
B
<
int
>
b;
31
B
<
double
>
c;
32
33
a
=
b;
34
a
=
c;
35
}
posted on 2011-04-05 13:50
今晚打老虎
閱讀(1335)
評論(0)
編輯
收藏
引用
所屬分類:
學習筆記
只有注冊用戶
登錄
后才能發(fā)表評論。
【推薦】100%開源!大型工業(yè)跨平臺軟件C++源碼提供,建模,組態(tài)!
相關文章:
C++中對浮點數(shù)的格式化顯示
類型轉換操作符
VS2010實用小記
關于二重模板 小記1
模板的聲明與實現(xiàn)的分離方法
多重繼承、二義性、虛基類(虛繼承)之我見
類實例化時 默認構造函數(shù)調用 小記
關于類模板的友元函數(shù)
關于運算符重載的一些筆記
最簡短的鸚鵡學舌程序
網站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Powered by:
C++博客
Copyright © 今晚打老虎
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
在线欧美三区
|
欧美日韩中文在线观看
|
国产一区二区无遮挡
|
欧美一区二区在线
|
亚洲精品免费在线观看
|
亚洲人成网站777色婷婷
|
欧美+日本+国产+在线a∨观看
|
久久精品国产亚洲精品
|
精品成人久久
|
最新国产の精品合集bt伙计
|
欧美连裤袜在线视频
|
在线中文字幕一区
|
亚洲一区二区三区午夜
|
国产一区二区三区黄
|
美女在线一区二区
|
欧美精品电影
|
久久九九久精品国产免费直播
|
久久久综合网站
|
中日韩高清电影网
|
亚洲一区二区在线免费观看
|
在线看视频不卡
|
亚洲欧洲日韩女同
|
国产欧美va欧美不卡在线
|
久久亚洲精选
|
欧美视频日韩视频在线观看
|
久久精品理论片
|
欧美精品在线观看
|
久久女同互慰一区二区三区
|
欧美电影在线观看完整版
|
欧美一级大片在线观看
|
美国三级日本三级久久99
|
午夜电影亚洲
|
欧美激情第9页
|
久久亚洲综合色
|
国产精品女同互慰在线看
|
女人香蕉久久**毛片精品
|
欧美亚一区二区
|
欧美好骚综合网
|
国产一级揄自揄精品视频
|
亚洲欧洲免费视频
|
一区二区在线看
|
亚洲一本大道在线
|
99精品热视频只有精品10
|
久久久久久一区二区三区
|
亚洲欧美日本精品
|
欧美精品亚洲二区
|
亚洲福利电影
|
在线免费观看日本一区
|
欧美一区二区日韩
|
亚洲综合色婷婷
|
欧美久久久久中文字幕
|
欧美国产视频日韩
|
亚洲第一在线综合在线
|
亚洲欧美久久久
|
欧美一区二区高清
|
欧美日一区二区在线观看
|
亚洲日本中文字幕免费在线不卡
|
亚洲成人自拍视频
|
久久免费观看视频
|
免费欧美日韩
|
国外视频精品毛片
|
久久er精品视频
|
老司机亚洲精品
|
一区在线影院
|
久久久精品日韩
|
免费日韩av片
|
亚洲欧洲一区二区三区久久
|
久久综合色8888
|
亚洲第一精品久久忘忧草社区
|
黄色综合网站
|
亚洲精品免费看
|
一区二区三区精品国产
|
亚洲一级二级
|
国产精品成人va在线观看
|
中文日韩在线
|
欧美一级成年大片在线观看
|
国产日韩亚洲欧美精品
|
午夜亚洲一区
|
欧美大片91
|
日韩视频一区二区三区在线播放免费观看
|
国产亚洲综合在线
|
久久福利电影
|
亚洲国产91
|
亚洲一级片在线看
|
国产美女精品在线
|
久久久久高清
|
亚洲人屁股眼子交8
|
亚洲一级二级
|
国产亚洲欧美日韩日本
|
免费高清在线视频一区·
|
91久久嫩草影院一区二区
|
亚洲午夜女主播在线直播
|
国产噜噜噜噜噜久久久久久久久
|
久久超碰97中文字幕
|
亚洲成在线观看
|
午夜国产不卡在线观看视频
|
在线观看三级视频欧美
|
欧美成人日本
|
午夜精品视频在线观看
|
亚洲福利视频在线
|
亚洲一区二区三区涩
|
狠狠色丁香久久综合频道
|
欧美日本不卡视频
|
欧美一区二区三区成人
|
亚洲精品视频中文字幕
|
久久日韩精品
|
亚洲欧美三级伦理
|
91久久久久久久久
|
国产欧美 在线欧美
|
欧美高清在线观看
|
久久国产精品久久久久久电车
|
亚洲美女黄网
|
美女免费视频一区
|
性久久久久久
|
日韩一级精品视频在线观看
|
国产午夜精品美女毛片视频
|
欧美激情一级片一区二区
|
久久久.com
|
欧美亚洲视频
|
一本色道久久加勒比88综合
|
欧美承认网站
|
久久久久久亚洲精品不卡4k岛国
|
99国产精品99久久久久久
|
亚洲国产视频直播
|
一区视频在线
|
国产一二三精品
|
国产日韩欧美视频
|
国产精品嫩草影院一区二区
|
欧美日韩亚洲一区
|
欧美区视频在线观看
|
欧美成人免费网
|
欧美成ee人免费视频
|
久久久精品欧美丰满
|
久久精品国产清高在天天线
|
亚洲欧美日韩在线综合
|
亚洲一区图片
|
久久亚洲综合色
|
亚洲欧洲日产国产综合网
|
国产日韩1区
|
国产精品女人毛片
|
国产精品久久国产三级国电话系列
|
欧美激情女人20p
|
欧美激情久久久久久
|
欧美国产日本在线
|
久久综合九色综合欧美狠狠
|
久久精品国产2020观看福利
|
一区二区三区四区五区精品视频
|
一本色道久久综合狠狠躁篇怎么玩
|
欧美福利一区二区
|
最近中文字幕日韩精品
|
亚洲专区在线
|
亚洲精品欧美一区二区三区
|
亚洲久久一区
|
aa级大片欧美三级
|
日韩视频免费观看高清完整版
|
亚洲国产精品成人va在线观看
|
亚洲日韩欧美视频一区
|
亚洲人成艺术
|
亚洲精品免费在线
|
日韩亚洲欧美成人
|
午夜精品一区二区三区在线视
|
亚洲欧美在线免费
|
欧美一级在线亚洲天堂
|
亚洲欧美自拍偷拍
|
亚洲天堂av综合网
|
亚洲欧美日韩精品一区二区
|
一区二区三区四区精品
|
亚洲自拍啪啪
|
中国女人久久久
|
久久国产精彩视频
|
免费观看日韩
|
亚洲国产一区二区在线
|
99精品国产在热久久婷婷
|
亚洲午夜精品一区二区三区他趣
|
国产精品一区在线观看你懂的
|
欧美日韩精品国产
|
欧美日本中文
|
欧美色视频在线
|
国产欧美日韩视频一区二区三区
|
国产日韩欧美高清
|
亚洲精品久久久蜜桃
|
亚洲一区二区三区免费观看
|
久久婷婷国产综合精品青草
|
亚洲国产另类 国产精品国产免费
|
99精品视频免费全部在线
|
欧美亚洲综合另类
|
欧美精品激情
|
国产欧美一区二区三区国产幕精品
|
影音先锋日韩精品
|
亚洲男女自偷自拍图片另类
|
玖玖国产精品视频
|
99国产麻豆精品
|
久久国产主播精品
|
欧美午夜剧场
|
亚洲福利视频在线
|
性感少妇一区
|
国产精品99久久久久久人
|
久久午夜色播影院免费高清
|
欧美日韩中文精品
|
国产一区在线视频
|