有没有办法使用"阻止" 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();
}
答案 0 :(得分:3)
不,除非你在类定义的标题中实现它(你通常不应该这样做)。
从技术上讲,你可以用宏来破解它,但是看着代码的其他人都会讨厌你。你必须习惯“C ++方式”。
根据您使用的IDE,通常有工具(例如Visual Studio的Visual Assist X)可帮助您从类定义生成一些样板文件。