クラスの実装ファイル内のすべての関数に同じ定型コードを記述する必要がないように、C++で「ブロック」クラススコープ解決を使用する方法はありますか。
C ++でヘッダーファイルの外部に関数を定義するときに、同じクラス名とバイナリスコープ解決演算子(Classname ::)を記述することは非常に繰り返しになります。
Objective-Cでは、@implementation /@endブロック内に関数を含めるだけで済みます。
Objective-Cの例:
// Buttons.h
@interface Buttons : UIView {
NSMutableArray *buttonArray;
}
- (int)getNumberButtons;
// Buttons.m
#import "Buttons.h"
@implementation
- (int)getNumberButtons
{
return [buttonArray count];
}
@end // End implemenation
C++の例
// Buttons.h
class Buttons {
public:
int getNumberOfButtons() const;
protected:
std::vector<Button> buttons;
};
// Buttons.cpp
#include "Buttons.h"
int Buttons::getNumberOfButtons() const {
return buttons.size();
}