1樓:陶紫雲系南
羨枝橘/2.
類别範本程式設計//(1)定義乙個類别範本point,有兩個私有資料成搭薯員:x,y(變數型別可變);成員函式的定義必須寫在類外//(2)要求編寫的類别範本能夠完成下述main()函式的功能/*int
main()
#includeusing
namespace
std;templateclass
point現兄團在這個程式執行沒有問題,但是怎麼把成員函式的定義在類外呢。
我試了幾次總是有錯。
不知道怎麼把函式正確移到類外去。
謝謝幫忙了。
感激ing
2樓:喜影改騫騫
所謂物件就是客觀事物在計算機中的抽象描述;類是對具有相似屬性和行為的一組物件的統一描述。
類的定義。c++的類是在結構體的基礎上擴充而來的。類是把拍圓清各種不同型別的數襲前據(稱為資料成員)和對資料的操作(成員函式)組織在一起而形成的使用者自定義的資料型別。
c++中,類定義包括類說明和類實現兩大部分。
說明部分提供了對該類所有資料成員和成員函式的描述,而實現部分提供了所有成員函式的實現**。
類定義的一般形式為:
class類名。
private:
資料成員或成員函式。
protected:
資料成員或成員函式。
public:
資料成員或成員函式。
各成員函式的實現**》
說明: class是定義類的關鍵字,類名由使用者自己定名,必須是c++的有效識別符號,但一般首字母大寫。
大括號的部分是類的成員(資料成員和函式成員),它們分成三部分,分別由private、public、proctected三個關鍵字後跟冒號來指定。這三部分可以任何順序出現,且在乙個類的定義中,這三部分並非必須同時出現。(1)如果資料成員或成員函式在類的private部分,那麼在類之外是不能存取的,只有腔指類中的成員函式才能存取private的資料成員和成員函式。
2)在乙個類的public部分說明的資料成員或成員函式可被程式中的任何函式或語句存取,public成員多為成員函式,用來提供乙個與外界的介面,外界只有通過這個介面才可以實現對private成員的存取。
3)在類的protected部分說明的資料成員和成員函式是不能在類之外存取的,只有類的成員函式及其子類(派生類)可以存取protected的成員。
3樓:
c++沒有該功能誒,定義要在一起定義,實現倒是可以在不同的地方實現。c#倒是可以把類拆分到幾個檔案裡,不過c#沒有標頭檔案概念。
4樓:我行我酷
可以再外面定義,但是在類裡面你必須要申明。
返回型別 類名::成員函式名(參數列)
成員函式為什麼有的在類內定義有的在類外定義
5樓:風若遠去何人留
不管是類內定義, 還是類內宣告類外定義,都是合法的。
一般來說,當類成員函式的函式體比較簡短時, 定義在類內,可以減少**量。比如只有一行的。
當函式體較長時,定義在類外, 這樣可以增加類定義的可讀性。相信你也不願意找乙個類成員是如何宣告的,而去翻幾十上百行**。
另外,如果是多檔案工程,尤其是封裝成庫的情況下,為了穩定及保護, 大多數成員會定義在原始檔,而宣告放在標頭檔案。釋出庫的時候保證類內成員實現不會被修改。
6樓:我的名字司耀輝
這個問題,如果要考慮內聯的話,在類內定義的函式不管加不加inline這個關鍵字,都是被認為是行內函數,但是如果在類內宣告在類外定義,就可以不是行內函數。 行內函數一般不是我們期望看到的。還有就是**可讀性比較差,所以最好的方式就是在類內進行宣告,然後在類外進行定義,這樣就可以了。
類的成員函式的定義
7樓:山如不為勒石高
類的成員函式的原型要寫在類體中,原型說明了函式的參數列和返回值型別。而函式的定義一般在類外面,也可以直接在類內部定義。前者與普通函式不同的是,實現成員函式時要指明類的名稱,具體形式為:
返回值型別 類名 ::函式成員名(參數列);
而後者一般為一些短小的函式(5行以內),也就是行內函數。
C 求助什麼叫類體內定義成員函式
class student public void display cou num c 中怎麼理解類內定義的成員函式就是行內函數?當你的class。public成員函式宣告的時候,只要這個函式體當中不存在switch等迴圈語句的時候,則這個函式體無論是在類的內部還是類的外部,這個成員函式在編譯器看來...
c中怎麼理解類內定義的成員函式就是行內函數
在類內定義的成員函式預設為inline,不論前面是否加了inline,當然,是否內聯還是取決於編譯器啦 而在類外定義的成員函式就不是行內函數。c 中怎麼理解類內定義的成員函式就是行內函數?當你的class。public成員函式宣告的時候,只要這個函式體當中不存在switch等迴圈語句的時候,則這個函...
C 成員函式的使用有哪些限制,C 類成員函式什麼情況下必須定義引數?
必須為其指標所指向的物件分配記憶體才可以進行strcpy操作。如果沒有分配記憶體,則 strcpy pname,p 把p複製到 沒有記憶體存放!這可能會導致未知的情況發生,程式會崩潰.以下是修改後的程式。注 用構造分配記憶體 new 必須要用析構 delete 釋放記憶體,否則會造成記憶體洩露 me...