zoukankan      html  css  js  c++  java
  • OC和C++的混用1

    //Objective-C

    /*在混用之前需要做一步非常重要的事:不是代码而是编译器选项,在做混合编译之前一定要把编译器的Compile Sources As选项改为Objective C++

     修改方法:

     target->BuildSetting->Apple LLVM compiler 4.0 - Language选项底下的Compile Sources As修改为:Objective C++*/

    #import <Foundation/Foundation.h>

    class CPlusPlusClass;//这里不能使用@class指令,我猜测的原因可能是:后面的类是c++类,若要引用oc类肯定是用@class无疑

    @interface Objective_CClass : NSObject

    {

        @private

        CPlusPlusClass *testObj;

    }

    - (void)thisIsMyObjectiveCMethod;

    @end

    #import "Objective-CClass.h"

    #import "CPlusPlusClass.h"

    @implementation Objective_CClass

    - (id) init {

        if (self = [super init]) {

            testObj = newCPlusPlusClass();

        }

        

        returnself;

    }

    - (void)thisIsMyObjectiveCMethod

    {

        testObj->setCPlusPlus(100);

        testObj->thisIsMyCPlusplusMethod();

    }

    @end

    //C++

    #ifndef __OC_C______CPlusPlusClass__

    #define __OC_C______CPlusPlusClass__

    #include <iostream>

    class CPlusPlusClass

    {

    private:

        int CPlusPlus;

    public:

        CPlusPlusClass();

        virtual ~CPlusPlusClass();

        void setCPlusPlus(int num);

        void thisIsMyCPlusplusMethod ();

    };

    #include "CPlusPlusClass.h"

    #include "Objective-CClass.h"

    usingnamespace std;

    CPlusPlusClass::CPlusPlusClass()

    {

        cout<<"构造函数被调用"<<endl;

    }

    CPlusPlusClass::~CPlusPlusClass()

    {

        cout<<"析构函数被调用"<<endl;

    }

    void CPlusPlusClass::setCPlusPlus(int num)

    {

        this->CPlusPlus = num;

    }

    void CPlusPlusClass::thisIsMyCPlusplusMethod()

    {

        cout<<CPlusPlus<<endl;

    }

    //以下是调用

    Objective_CClass *obj = [[Objective_CClass alloc] init];

    [obj thisIsMyObjectiveCMethod];

  • 相关阅读:
    bzoj2733 永无乡 平衡树按秩合并
    bzoj2752 高速公路 线段树
    bzoj1052 覆盖问题 二分答案 dfs
    bzoj1584 打扫卫生 dp
    bzoj1854 游戏 二分图
    bzoj3316 JC loves Mkk 二分答案 单调队列
    bzoj3643 Phi的反函数 数学 搜索
    有一种恐怖,叫大爆搜
    BZOJ3566 概率充电器 概率dp
    一些奇奇怪怪的过题思路
  • 原文地址:https://www.cnblogs.com/chenhaosuibi/p/3442243.html
Copyright © 2011-2022 走看看