1樓:匿名使用者
x f5()是定義乙個返回型別為x的函式
如果你感覺不好理解的話把x換成int去考慮
就是f5這個函式返回了乙個x類型別的變數
c++類的成員函式前加&什麼意思
2樓:匿名使用者
這個和函式引數加位址符的作用是一樣的,用於返值返回的是引用而不是賦值。
也就是說,該函式返值會通過位址傳送的方式給到函式呼叫者要求的返回值,這樣可以節省物件賦值造成的記憶體浪費,通常用於返值是大型物件(而不是簡單變數型別)的時候。
比如你有個class t,而這個函式的返值是return t; 加上位址符返值後,返回t變數的位址,將位址傳遞給接收返值的變數,而不是新建乙個類t,呼叫類的複製函式建立乙個新類。
3樓:it孤鶩
& 就是引用的意思
引用就是某一變數(目標)的乙個別名,對引用的操作與對變數直接操作完全一樣。
c++中函式前加~是什麼意思,比如~thread();
4樓:人設不能崩無限
c++中函式前加~是表示此函式是析構函式。
析構函式(destructor) 與建構函式相反,當物件結束其生命週期,如物件所在的函式已呼叫完畢時,系統自動執行析構函式。析構函式往往用來做「清理善後」 的工作(例如在建立物件時用new開闢了一片記憶體空間,delete會自動呼叫析構函式後釋放記憶體)。
5樓:匿名使用者
c++中函式
前加~是表示此函式是析構函式。
析構函式介紹
1.析構函式(destructor) 與建構函式相反,當物件脫離其作用域時(例如物件所在的函式已呼叫完畢),系統自動執行析構函式。析構函式往往用來做「清理善後」 的工作(例如在建立物件時用new開闢了一片記憶體空間,應在退出前在析構函式中用delete釋放)。
2.以c++語言為例:析構函式名也應與類名相同,只是在函式名前面加乙個位取反符~,例如~stud( ),以區別於建構函式。
它不能帶任何引數,也沒有返回值(包括void型別)。只能有乙個析構函式,不能過載。如果使用者沒有編寫析構函式,編譯系統會自動生成乙個預設的析構函式(即使自定義了析構函式,編譯器也總是會為我們合成乙個析構函式,並且如果自定義了析構函式,編譯器在執行時會先呼叫自定義的析構函式再呼叫合成的析構函式),它也不進行任何操作。
所以許多簡單的類中沒有用顯示的析構函式。
例項:#include
using namespace std;
class t };
int main();
6樓:匿名使用者
析構函式,用來釋放你程式執行中沒有delete或者free的變數,完成掃尾工作,一般的建立類如果不寫析構函式會呼叫系統預設的析構函式,如果使用者有宣告和定義,則呼叫使用者的
c++類名後加冒號是什麼意思
7樓:匿名使用者
在c++語言中,乙個派生類可以從乙個基類派生,也可以從多個基類派生。從乙個基類派生的繼承稱為單繼承;從多個基類派生的繼承稱為多繼承。
派生類的定義格式
單繼承的定義格式如下:
class 《派生類名》:《繼承方式》《基類名》
;《繼承方式》常使用如下三種關鍵字給予表示:
public 表示公有基類;
private 表示私有基類;
protected 表示保護基類;
8樓:可以叫我表哥
c++如下定義類函式後加冒號是表示函式屬於這個類,類的成員函式定義在類外面的時候需要這麼用。
類的成員函式描述的是類的行為,是程式演算法的實現部分,是對封裝的資料進行操作的方法。類的成員函式的原型要寫在類體中,原型說明了函式的參數列和返回值型別。而函式的定義一般在類外面,也可以直接在類內部定義。
前者與普通函式不同的是,實現成員函式時要指明類的名稱,具體形式為:
返回值型別 類名 ::函式成員名(參數列);
而後者一般為一些短小的函式(5行以內),也就是內聯函式。
示例:class student
;void student∷display( )//在類外定義display類函式
9樓:
class a {};
class b:public a //這兒表示繼承//這兒表示建構函式的初始化列表
private:
int b;};
10樓:匿名使用者
cmenu_mainmenu 公有繼承cpage_menu
11樓:師大考研醬油男
公有方式繼承cpage_menu類
c++在函式宣告時,後面跟個const是什麼意思?
12樓:幻翼高達
c++在函式宣告時,後面跟個const是限定函式型別為常成員函式, 常成員函式是指不能改變成員變數值的函式。
例如「double d() const;」,其中的其中的「const」限定了d()函式中不能有任何改變其所屬物件成員變數值的功能,如果有則會在編譯階段就報錯。
它的主要作用就是能使成員函式的意義更加清楚,我們可在不改變物件的成員函式的函式原型中加上const說明。在需要增加可讀性和減少邏輯出錯的情況下,就可以用這種形式。
我們定義的類的成員函式中,常常有一些成員函式不改變類的資料成員,也就是說,這些函式是"唯讀"函式,而有一些函式要修改類資料成員的值。如果把不改變資料成員的函式都加上const關鍵字進行標識,顯然,可提高程式的可讀性。
另外,它還能提高程式的可靠性,已定義成const的成員函式,一旦企圖修改資料成員的值,則編譯器按錯誤處理。
13樓:釗鉼
const是乙個c語言(ansi c)的關鍵字,具有著舉足輕重的地位。它限定乙個變數不允許被改變,產生靜態作用。
使用const在一定程度上可以提高程式的安全性和可靠性。另外,在**別人**的時候,清晰理解const所起的作用,對理解對方的程式也有一定幫助。另外const在其它程式語言中也有出現,例如pascal、c++、php5、b#.
***、hc08 c、c#等。
const的作用:
1、可以定義const常量,具有不可變性。
2、便於進行型別檢查,使編譯器對處理內容有更多了解,消除了一些隱患。
3、可以避免意義模糊的數字出現,同樣可以很方便地進行引數的調整和修改。 同巨集定義一樣,可以做到不變則已,一變都變!
c++是c語言的繼承,它既可以進行c語言的過程化程式設計,又可以進行以抽象資料型別為特點的基於物件的程式設計,還可以進行以繼承和多型為特點的物件導向的程式設計。c++擅長物件導向程式設計的同時,還可以進行基於過程的程式設計,因而c++就適應的問題規模而論,大小由之。
c++不僅擁有計算機高效執行的實用性特徵,同時還致力於提高大規模程式的程式設計質量與程式語言的問題描述能力。
14樓:匿名使用者
這兒的const就是說這個函式操作不會對變數或是物件之類的值有影響 比如你有乙個human類 你現在要得到某個human類物件a的age 那麼肯定是不會因為你想得到這個值而改變了age的大小 對吧 那麼你就可以寫乙個函式int getage()const這樣就好 這麼做是為了防止你在函式中對不應該在這裡改變的量不小心進行了改變
15樓:韌勁
非靜態成員
函式後面加const(加到非成員函式或靜態成員後面會產生編譯錯誤),表示成員函式隱含傳入的this指標為 const指標,決定了在該成員函式中,任意修改它所在的類的成員的操作都是不允許的(因為隱含了對this指標的const引用);唯一的例外是對於 mutable修飾的成員。加了const的成員函式可以被非const物件和const物件呼叫,但不加const的成員函式只能被非const物件調 用。例如:
class a
int geta() const
int geta()
int seta(int a) constint seta(int a)
};a a1;
const a a2;
int t;
t = a1.geta();
t = a1.geta();
t = a2.geta();
t = a2.geta(); //a2是const物件,呼叫非const成員函式產生編譯錯誤。
16樓:淼淼
const修飾說明它是乙個常量,它的值是不能被修改的。沒有什麼地方是必須要用的,你只要覺得這個數字你不會改變就可以用。一般在函式傳遞引數中用的比較多,你可以看看c語言的庫函式引數中很多都是用const修飾的。
比如字串拷貝的宣告函式char *strcpy(char *dest,const char *src); 後邊的形參用了const修飾,在函式定義中src的值就不能被改變,dest的值就可以被改變,也是一種提示的作用說明字串是從src拷貝到dest中
C中,類是什麼,C 中的類外是什麼意思
什麼是類 類是一種複雜的資料型別,它是將不同型別的資料和與這些資料相關的操作封裝在一起的集合體。這有點像c語言中的結構,唯一不同的就是結構沒有定義所說的 資料相關的操作 資料相關的操作 就是我們平常經常看到的 方法 因此,類具有更高的抽象性,類中的資料具有隱藏性,類還具有封裝性。類的結構 也即類的組...
C中在類中呼叫其他類的方法,C中在乙個類中呼叫其他類的方法
static void printmenu 方法前少 public 前少public 預設是proctected型別的,只能是其父子類相關的才能呼叫,改成加上public型別 因為str 1 字串是引用型別,比較的並不是他們的內容,而是比較他們的指標,由於str和 1 是分別分配空間的,他們的指標指...
C 中的find函式在非string類中怎麼使用啊
可以用中的find函式實現。用法 template inputiterator find inputiterator first,inputiterator last,const t val 傳入兩個迭代器 first 和 last,和乙個值 val,返回在 first,last 範圍內第乙個與 v...