2010-12-03 2 views
0

Есть ли способ использования разрешения класса класса «block» в C++, так что мне не нужно писать один и тот же код шаблона для каждой функции в файле реализации моего класса.Оператор и классы разрешения двоичного кода C++

Я нахожу его чрезвычайно повторяющимся, чтобы написать одно и то же имя класса и оператор разрешения двоичной области (Classname: :) ​​при определении функции за пределами файла заголовка на C++.

В Objective-C Мне нужно включить функции только в блок реализации @ @ 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

Для этого не предназначен Objective-C++? Позволяет вам использовать код C++ в программах Objective C? – 2010-12-03 16:04:40

+0

В любом случае, это не C++. В 21 символе `@implementation @end ` Вам нужно четыре метода для класса с именем длиной 4 символа, прежде чем C++ станет более обременительным для ввода. – 2010-12-03 16:12:53

ответ

3

Нет, если вы не будете выполнять все это в заголовке в определении класса (которые вы обычно не должны).

Технически вы можете взломать его с помощью макросов, но все остальные, смотрящие на код, ненавидят вас за это. Вы должны привыкнуть к «C++ way» здесь.

В зависимости от того, с какой средой вы работаете, обычно используются инструменты (например, Visual Assist X для Visual Studio), которые помогают вам сгенерировать часть шаблона из определения класса.

 Смежные вопросы

  • Нет связанных вопросов^_^