2010-11-18 9 views

Antwort

2

Sie könnten eine Objective-C-Klasse erstellen und dann einen C++ - Wrapper dafür schreiben. Etwas nach dem Vorbild von

color.h

@interface Color : NSObject 
{ 
    ... 
} 
- (BOOL) onInitDialog; 
@end 

color.m

#import "color.h" 

@implementation Color 
- (BOOL) onInitDialog 
{ 
    return YES; 
} 

@end 

colorwrapper.h

#ifdef __OBJC__ 
@class Color; 
#else 
struct Color; 
#endif 

class ColorWrapper 
{ 
    Color *color; 
public: 
    Boolean OnInitDialog(); 
}; 

colorwrapper.mm

#include "ColorWrapper.h" 

Boolean ColorWrapper::OnInitDialog() 
{ 
    return [color onInitDialog]; 
} 

Natürlich ist das nicht vollständiger Code und ist wahrscheinlich nicht ganz richtig ... aber Sie bekommen die allgemeine Idee.

+0

Wirklich großartige Idee! – Icestorm

1

Ich glaube nicht, dass das möglich ist.

Sie können jedoch C++ - Code in Ihrer Implementierung verwenden, indem Sie einfach die Datei .mm anstelle von .m benennen.

Neugierig, warum möchten Sie so etwas tun?

+0

Ich modifiziere eine existierende C++ - Implementierung und ich wollte auch die Funktion ObjC styled machen, eine Sprache, die mir vertrauter ist. – Icestorm

+0

kampf. Ohne durch einen "Wrapper" zu gehen, wie filipe erwähnt, steckst du in C++ - lande jetzt :) –