2012-01-09 9 views
3

私のObjective-Cクラスのヘッダーでは、定義されたクラスのMyClassNameオブジェクトを使用できるように、@class MyClassNameを使用します。Objective C "@class MyClassName"に相当するC++は何ですか?

Objective-Cでは、@class MyClassName#import MyClassName.hの間に違いがありますか?

C++にこのような違いがありますか?

#import "MyClassName.h"と同等のC++は、#include "MyClassName.h"です。

Objective-C @class MyClassNameのC++に相当するものは何ですか?似てC++で

答えて

8

前方宣言 - ちょうど削除 '@' OBJ-Cのバリアントから:

class MyClassName; 
1

はい、そのような区別C++のもそこです。 C++では前方宣言と呼ばれています。あなたは、前方のようなクラスを宣言:

class ClassName; 

ただ、余分な情報を追加するために、それが宣言される前にクラスを使用しているとき、前方宣言が使用されています。コンパイラは少し寛大で、エラーをスローしませんが、後で完全なクラス宣言が必要です。

1

#import "MyClassName.hのC++と同等でもC++では、我々は通常、

#ifdef __abc.h__ 
#define __abc.h__ 

//actual code 


#endif 
を行う対象のファイルの巡回混入を防ぐの#import "" #include "MyClassName.h"

ではありません"

関連する問題