-5
FooとBarの2つのクラスがあるとします。 我々はFooのクラスを宣言すると、次のようにそのメソッドを使用することができます。クラスの前方宣言とクラスの宣言の違いは何ですか?
#include"foo.h"
Foo foo
class Bar{
Bar(){
foo.method1();
}
}
そして、我々は次のようにFooのクラスを宣言するために立って前方宣言、持っている:
#include"foo.h"
class Foo
class Bar{
Bar(){
}
}
主な違いは何を2つの宣言の間に、そして前方宣言が通常の宣言に優先されるときは?第2のケースで
有用なリンク:https://www.quora.com/What-exactly-is-the-difference-between-the-declaration-of-a-class-and-a-definition-of-a-class –
あなたの2番目の例では 'Foo'は使用されないので、私はあなたの質問を理解していません – bolov
[C++ - フォワード宣言]の可能な複製(http://stackoverflow.com/questions/4757565/c-forward-declaration) – dkg