아니요.
C++ 및 Objective-C 클래스는 매우 다른 방식으로 구현됩니다. C++은 함수 검색을 위해 vtable을 사용하며 정적입니다.
그러나 Objective-C는 동적 사전 조회를 사용하며 런타임에 메소드를 추가 할 수 있습니다.
그러나, 당신은 당신이 원하는 것을 할 객체 구성을 사용할 수 있습니다 의미가
// MyCPPClass.cpp
class MyCPPClass {
int var;
public:
void doSomething(int arg)
{
var += arg;
std::cout << "var is: " << var << std::endl;
}
};
// MyCPPWrapper.h
#ifndef __cplusplus
typedef void MyCPPClass;
#endif
@interface MyCPPWrapper : NSObject
{
@public
MyCPPClass *cppObject;
}
-(void) doSomething:(int) arg;
@end
// MyCPPWrapper.mm
@implementation MyCPPWrapper
-(void) doSomething:(int)arg
{
if (cppObject)
cppObject->doSomething(arg);
}
@end
// main.mm
int main(int argc, const char * argv[])
{
@autoreleasepool {
MyCPPWrapper *cppWrapper = [MyCPPWrapper new];
cppWrapper->cppObject = new MyCPPClass();
[cppWrapper doSomething:10];
[cppWrapper doSomething:15];
}
return 0;
}
, 그것은 좀 WPF –