C++發哥筆記(1):class的分離式寫法

來源:互聯網
上載者:User

標籤:分離   變數   void   test   this   聲明   .cpp   符號   注意   

把class的成員函數的定義寫在class之外,即class的大括弧的外面。

例如,

/////////// main.cpp ////////////

class Object {

  public: int x;

  void Test();       // (1) 成員函數的聲明

};

 

void Object::Test()   //(2) 成員函數寫在外邊,加上類名限定

{ }

 

總結一下這種寫法:

1:成員變數:還是寫在類裡面

2:成員函數:在類裡保留其函式宣告,而函數的定義寫在類體之外。

3:寫在外面的時候,要加上類名限定(Object::)

其中,::可以理解為是表示範圍的符號

 

分開為標頭檔和源檔案

按照一貫的原則:類型定義寫在標頭檔裡,函數實現寫在源檔案裡。

/////////// Object.h ////////////

class Object {

public:

  int x;

  void Test();

};

/////////// Object.cpp ////////////

#include <stdio.h>

#include "Object.h"

void Object::Test() {

  printf("x is %d \n", x);        // 仍然可以省略this->

}

注意:

1.不一定要把所有函數定義都拿出來,可以只拿一部分出來。 如果寫在類體裡面,編譯器按照inline的規則編譯它 (inline在第8章定義) 類體之外,則是普通的函數

2. 在類體中,成員函數與成員變數的排列順序是自由的。

 

C++發哥筆記(1):class的分離式寫法

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.