第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

求助,關(guān)于在類模板的構(gòu)造函數(shù)的參數(shù)里用 typename是什么意思?

求助,關(guān)于在類模板的構(gòu)造函數(shù)的參數(shù)里用 typename是什么意思?

交互式愛情 2021-05-04 10:06:46
在類模板的構(gòu)造函數(shù)的參數(shù)里用 typename是什么意思?例如:insert_iterator(Cont& x,typename Cont::iterator it);typename 不是用在類模板的形參里的嗎?
查看完整描述

2 回答

?
慕斯王

TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超2個(gè)贊

形參類型....
你定義了 什么類型
后來調(diào)用這個(gè)函數(shù)的時(shí)候 就是什么類型.
比如當(dāng)初你 定義了 vector<int>
那么 這里的 insert_iterator() 中的 typename 就是 int

查看完整回答
反對(duì) 回復(fù) 2021-05-09
?
三國(guó)紛爭(zhēng)

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超7個(gè)贊

不管是模板類還是普通的類,如果你沒有定義帶參數(shù)的構(gòu)造函數(shù),那么編譯器會(huì)為你隱含的實(shí)現(xiàn)一個(gè)沒有參數(shù)的默認(rèn)構(gòu)造函數(shù)(這個(gè)默認(rèn)構(gòu)造函數(shù)什么都不做),但如果你定義了一個(gè)帶參數(shù)的構(gòu)造函數(shù),編譯器就不再為你創(chuàng)建一個(gè)默認(rèn)的構(gòu)造函數(shù)了,先拿普通的類來說:

#include <iostream>
using namespace std;

class CTest
{
public:
CTest(int val)
{
m_nVal = val;
}

private:
int m_nVal;
};

int main()
{
CTest test(8);
}
編譯運(yùn)行都沒有問題,但是如果你寫成CTest test;就不行了,沒有默認(rèn)構(gòu)造函數(shù)了。模板類是一樣的道理,所以問題不在這里,如下程序同樣編譯運(yùn)行通過:
#include <iostream>
using namespace std;

template<typename T>
class CTest
{
public:
CTest(T val)
{
m_nVal = val;
}

private:
T m_nVal;
};

int main()
{
CTest<int> test(7);
}
但是如果你寫CTest<int> test是不行的,編譯不通過。



查看完整回答
反對(duì) 回復(fù) 2021-05-09
  • 2 回答
  • 0 關(guān)注
  • 474 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)