有的时候,我们需要调用纯c++的方法,这个时候,我们必须再次封装一下。通过调用中间层对象的方法,来调用c++的方法。请看下图:

2.在test.h文件中定义方法<??http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PHByZSBjbGFzcz0="brush:java;">#ifndef __test__ #define __test__ class Test { public: void test(); static void testStatic(); }; #endif2.1.在test.cpp中实现定义的方法
#include "test.h"
#include
void Test::test()
{
printf("Hellow world \n");
}
void Test::testStatic()
{
printf("Hellow world with Static");
}
3.在RootViewController.h文件中定义oc需要调用的方法
-(void)testFunc;
3.1在RootViewController.mm文件中实现上方法,并且和c++文件建立联系
#import "RootViewController.h"
#include "test.h"
static Test* pTest=NULL;
@implementation testObject
-(id)init
{
if (self=[super init]) {
if (!pTest) {
pTest=new Test();
}
}
return self;
}
-(void)testFunc
{
if (pTest) {
pTest->test(); //-> c++ 指针 调用 公有变量和方法
//. c++ 对象 调用 公有变量和方法
}
Test::testStatic();
}
- (void)dealloc {
if (pTest) {
delete pTest;
}
[super dealloc];
}
@end
4.在viewControler的viewdidLoad方法中实例化一个RootViewController对象并且调用在RootViewController.h声明的方法
testObject * ttt=[[testObject alloc] init];
[ttt testFunc];
5.运行查看打印结果
