2016-12-11 20 views
-5

クラスをいくつかのクラスを.hpp.cppファイルに分ける方法がわかりません。次のサンプルクラスをどのように分割するか教えてください。C++のクラスをhppとcppファイルに分割する方法

class Foo { 
    public: 
    int x; 
    int getX() { 
     return x; 
    } 
    Foo(int x) : x(x) {} 
}; 

mainにこのクラスを含める方法は?

+0

_ "devide" _は何を再度意味しますか?クラスの宣言と定義を分離することを意味しましたか? –

+0

@Qornコンパイルプロセスを理解するのに役立ちます。私はC++がソースファイルをどのようにコンパイルするかを完全に理解する前に同じ問題を抱えていました。基本的には、コンパイルされるファイル(.cpp/.cファイルのみに応答する)、プリプロセッサが他のファイルをこれらのコンパイル単位にインポートする方法、リンカが依存関係を解決する方法などがあります。だから多分コンパイル単位でグーグルが多く役立つでしょう。 glmの数学ライブラリを見て、使用している.hppが表示されます – androidu

答えて

3

foo.hpp:

#pragma once 

class Foo{ 
public: 
    int x; 
    Foo(int x); 
    int getX(); 

}; 

foo.cpp:

#include "foo.hpp" 

Foo::Foo(int x) : x(x) {}; 
int Foo::getX(){ 
    return x; 
} 

main.cppに:

#include "foo.hpp" 

int main() { 

    Foo f(10); 

    return 0; 
} 

絶対基礎の一つです。 guideをご覧ください。 変数を非公開にして、関数を作成するgetX()const

関連する問題