oc中如何调用c++的方法

来源:互联网 发布:mac os 10.7升级包 编辑:程序博客网 时间:2024/06/08 10:13

ios讨论群1群:135718460


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


2.在test.h文件中定义方法

#ifndef __test__#define __test__class Test{public:    void test();    static void testStatic();};#endif
2.1.在test.cpp中实现定义的方法


#include "test.h"#include <iostream>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.运行查看打印结果




6 0