類的友員是函式時,它們可以定義不同形式的類屬引數 是什麼意思啊

2021-03-28 02:55:43 字數 2974 閱讀 9021

1樓:匿名使用者

#include

using namespace std;

template

class a

;template

void printa(a& a, p m)說明:a是類别範本

printa是函式模板

printa是a的友員,但是printa是template,而a是template

所以說類别範本的友員是函式模板時,它們可以定義不同形式的類屬引數。

還可以這樣寫:

#include

using namespace std;

template

class a

;template

void printa(a& a, q m)

2樓:匿名使用者

class person

{ char name[20];

int age;

float tell;

public:

person(char *s,int a,float t):age(a),tell(t)

{cout<<"呼叫三個引數的建構函式:"<個類的友元函式:

3樓:和睦空大

意思很簡單

簡單的類别範本知道吧?

裡面可以有很多的資料型別,整形int 字元char等這些都可作為引數,不同形式的引數

現在你問的問題裡說的是類

意思引數可以是任何的類的定義作為引數

函式模板和類别範本的引數可以是任意的資料型別麼?

4樓:匿名使用者

這其實取決於你要完成的功能,如果是比較大小的一個模版函式,那麼傳入的型別就必須支援比較操作,比如:

template bool first_ge_second(const x& x1, const x& x2)

如果x1 > x2這個函式返回真,很顯然,這個x(模版引數)必須支援大於符號的操作,傳統的型別肯定可以(比如int, float),但如果是自定義的類,那麼必須過載》操作符,否則**無法編譯通過。

c++怎麼類外定義模板類的成員函式? 模板引數怎麼呼叫?

5樓:匿名使用者

#ifndef stack_h

#define stack_h

#include

#include

/*** 棧

*/template

class stack

;template

stack::stack() : top(-1){}template

void stack::push(const itemtype& item)

top++;

array[top] = item;

}template

itemtype stack::pop()itemtype temp = array[top];

top--;

return temp;

}template

itemtype stack::peek() constreturn array[top];

}template

bool stack::isempty() consttemplate

bool stack::isfull() consttemplate

void stack::clearstack()}#endif   //stack_h

呼叫的方法,如下:

#include

#include"stack.h"

int main()

c++中函式模板和模板函式的區別

6樓:匿名使用者

2.1 函式模板的定義

不管它們的性質如何,所有的函式模板都具有同樣的基本格式:

template《引數說明》

函式頭函式體

例如,下面是一個2引數的模板的宣告:

template

t max(t param1 ,t param2)2.根據上面已定義的模板,編譯器將可生成下面的模板函式(都是對的,函式模板的目的就是函式過載):

char * max(char * a, char * b) //模板函式1

int max(int a, int b) //模板函式2double max(double a, double b) //模板函式2

等等。。。。。。。。。。。。。

7樓:116貝貝愛

模板函式可以進行隱式的資料型別轉換,中函式模板不會進行自動型別轉換。

一、函式模版和同名普通函式在同一個作用域中,會優先呼叫哪個函式,具體如下:

1.函式模型在進行呼叫的時候會進行嚴格的型別匹配,而普通函式在呼叫的時候,會進行函式引數型別轉換(前提是自動型別轉換)。

2.呼叫函式模版,本質是型別引數化,將要嚴格的按照型別進行匹配,不會進行自動型別轉換

3.呼叫普通函式,可以進行隱式的資料型別轉換(前提是可以進行自動型別轉換),這是普通函式和模版函式的本質區別。

二、函式模版可以像普通函式被過載

1.c++編譯器優先考慮普通函式:這是因為普通函式已經存在了,而模版函式還需要進一步的判斷,如果函式模版產生一個更好的匹配,那麼優先選擇函式模版。

2.可以通過空模版實參列表的語法限制編譯器只呼叫模版函式(也就是在引數名之後加上<>,隱含了自動型別推斷!),c++編譯器是如何支援模版機制的。

8樓:匿名使用者

類 例項化生成 例項(物件)

函式模板 例項化生成 模板函式

9樓:匿名使用者

函式模板提供了一類函式的抽象,它提供了任意型別為引數及返回值。函式模板經例項化後生成的具體函式成為模板函式。函式模板代表了一類函式,模板函式表示某以具體函式。

請問組詞時,是樹蔭還是樹陰?若都可以,它們所指的意思有何區別

都可以。樹蔭 樹木枝葉在日光下所形成的陰影。也作樹陰。應該沒有差別。從字的 來講,可能最起初樹yin應該是 蔭 但寫 陰 的人多了,樹陰 也就從錯別字變成了正確的字。組詞時,是樹蔭還是樹陰 樹陰和樹蔭,這兩種寫法都是存在的,樹陰 的 陰 字沒有 草 字頭,說明不是實指樹木.而 陰 字在詞典中又解釋為...

環境設計專業是屬於什麼類?考公務員一般可以報那些崗位?求指教啊

教育學 中文教育 思想政治教育 數學教育 生物學教育 人文教育 科學教育 文祕教育 物理學教育 化學教育 英語教育 小學教育 學前教育 特殊教育 教育技術學 藝術教育 言語聽覺科學。公務員報名中的教育學類包括教育學 心理學 教育心理學 社會心理學 應用心理學 思想政治教育 政治思想教育 政治教育 藝...

已知函式f是定義在r上的奇函式當0時

f x 1 的影象抄就襲 是將f x 的影象向右平移一個單位,要滿足f x 1 f x 就要使f x 1 的影象在f x 的影象的下方 可以有重合 接下來看圖平移,那麼需要將 3a2,0 點至少移到 3a2,0 點,即需6a2 1 6 6 a 6 6 x 1 的圖bai像就是將f x 的影象向右平 ...