Object-C、C、C++混合编程

Object-C与C++、C进行混合编程,采用将C++对象包装成Object-C对象,再给Object-C其他对象使用,Object-C的代码要使用C++的对象时,需要将.m文件改为.mm文件扩展名。

以下为示例代码,需添加libstdc++.6.dylib包。(附件中有工程实例):

CLanguage.c

//
//  CLanguage.c
//  CCTest
//  C语言
//  Created by  on 12-11-22.
//  Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//

#include <stdio.h>

void doSomething(){
    printf("调用C语言。");
}

 CLibrary.h

//
//  CLibrary.h
//  CCTest
//  C++代码
//  Created by  on 12-11-22.
//  Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//
#ifndef CCTest_CLibrary_h
#define CCTest_CLibrary_h

#include <iostream>

#endif

 CLibrary.cpp

//#include <iostream>
#include "CLibrary.h"
using namespace std;
class Human{
    public:
    void getWeight(){
        cout<<"Object C与C++混合编程。体重为:"<<weight<<"kg";
    }
    void setWeight(int x){
        weight = x;
    }
    
    private:
    int weight;
};


 

ViewController.mm,调用测试

#include "CLibrary.cpp"
#include "CLanguage.c"

- (void)viewDidLoad
{
    [super viewDidLoad];
    //集成C和C++能将ios用户界面与传统代码集成起来,实现更强大的功能
	//调用C++
    Human human;
    human.setWeight(26);
    human.getWeight();
    //调用C
    doSomething();
}
 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值