gpt4 book ai didi

C++ 二进制作用域解析运算符和类

转载 作者:行者123 更新时间:2023-11-28 01:09:13 24 4
gpt4 key购买 nike

有没有一种方法可以在 C++ 中使用“ block ”类作用域解析,这样我就不必为类实现文件中的每个函数编写相同的样板代码。

我发现在 C++ 中定义头文件之外的函数时,编写相同的类名和二进制作用域解析运算符 (Classname::) 非常重复。

在 Objective-C 中,我只需要在 @implementation/@end block 中包含函数。

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 Assist X for Visual Studio)可以帮助您从类定义中生成一些样板文件。

关于C++ 二进制作用域解析运算符和类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4347286/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com