[英]C++ Binary Scope Resolution Operator and Classes
有没有一种方法可以在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();
}
不可以,除非您可以在类定义的标头中全部实现(通常不应该这样做)。
从技术上讲,您可以使用宏对其进行破解,但是其他查看该代码的人都会讨厌您。 您必须在这里习惯于“ C ++方式” 。
根据您使用的IDE,通常会有一些工具(例如Visual Studio的Visual Assist X)可以帮助您从类定义中生成一些样板。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.