歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> 在Objective-C中使用C++

在Objective-C中使用C++

日期:2017/3/1 10:11:05   编辑:Linux編程

Greeting.h

  1. #import <Foundation/Foundation.h>
  2. class Hello {
  3. private:
  4. id greeting_text;
  5. public:
  6. Hello() {
  7. greeting_text = @"Hello, world!";
  8. }
  9. Hello(const char *initial_greeting_text) {
  10. greeting_text = [[NSString alloc] initWithUTF8String:initial_greeting_text];
  11. }
  12. void say_hello() {
  13. printf("%s\n", [greeting_text UTF8String]);
  14. }
  15. };
  16. @interface Greeting : NSObject {
  17. @private
  18. Hello *hello;
  19. }
  20. - (id)init;
  21. - (void)dealloc;
  22. - (void)sayGreeting;
  23. - (void)sayGreeting:(Hello *)greeting;
  24. @end

Greeting.mm

  1. #import "Greeting.h"
  2. @implementation Greeting
  3. - (id)init {
  4. if (self = [super init]) {
  5. hello = new Hello();
  6. }
  7. return self;
  8. }
  9. - (void)dealloc {
  10. delete hello;
  11. [super dealloc];
  12. }
  13. - (void)sayGreeting {
  14. hello->say_hello();
  15. }
  16. - (void)sayGreeting:(Hello *)greeting {
  17. greeting->say_hello();
  18. }
  19. @end

示例:

  1. Greeting *greeting = [[Greeting alloc] init];
  2. [greeting sayGreeting];
  3. Hello *hello = new Hello("Hello");
  4. [greeting sayGreeting:hello];
  5. delete hello;
  6. [greeting release];

主要是要注意類必須以mm結尾,否則無法編譯。

免費下載地址在 http://linux.linuxidc.com/

用戶名與密碼都是www.linuxidc.com

具體下載目錄在 /2012年資料/9月/2日/在Objective-C中使用C++

Copyright © Linux教程網 All Rights Reserved