成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Objective-C學習筆記相關教程

移動開發 iOS
本文介紹的是Objective-C學習筆記,相信友們對于Objective-C不是很陌生了,那么先來看本文詳解。

Objective-C學習筆記是本文要介紹的內容,如前所述,C + +不會讓你從Objective-C對象繼承C + +類,也不讓你從C + +對象繼承Objective-C類。

  1. class Base { };  
  2. @interface ObjCClass: Base ... @end // ERROR!  
  3. class Derived: public ObjCClass ... // ERROR! 

不像Objective-C,在C + +的對象是靜態類型,運行多態視作是例外情況。因此兩種語言的對象模型,無法直接兼容。更根本是,在Objective-C和C + +對象的內存布局是相互矛盾的。

這意味著它是一般不可能創建一個從兩種語言的角度都有效的對象實例。因此,這兩個類型層次結構不能被混合使用。

你可以在一個聲明的Objective-C類中聲明一個C + +類。編譯器已被視為在全局命名空間中聲明這樣的類,如下:

  1. @interface Foo {  
  2.     class Bar { ... } // OK  
  3. }  
  4.  
  5. @end  
  6. Bar *barPtr; // OK 

Objective-C允許C結構(不論在Objective-C中聲明與否)作為實例變量。

  1. @interface Foo {  
  2.     struct CStruct { ... };  
  3.     struct CStruct bigIvar; // OK  
  4.  
  5. }  
  6. ...  
  7. @end 

Objective-C在做類似的努力,使C + +類的實例,作為實例變量。只要c++盡可能的沒有

虛擬成員函數的定義,只是問題(隨著它的超類的所有)之所在。如果任何虛擬成員函數存在, 在C + +類不得作為Objective-C的實例變量。

  1. #import <Cocoa/Cocoa.h> 
  2. struct Class0 { void foo(); };  
  3. struct Class1 { virtual void foo(); };  
  4. struct Class2 { Class2(int i, int j); };  
  5. @interface Foo : NSObject {  
  6.    Class0 class0;      // OK  
  7.     Class1 class1;      // ERROR!  
  8.     Class1 *ptr;        // OK—call 'ptr = new Class1()' from Foo's init,  
  9.     // 'delete ptr' from Foo's dealloc  
  10.     Class2 class2;      // WARNING - constructor not called!  
  11. }  
  12. …  
  13. @end 

C + +中,要求每個包含虛函數的類的實例包含一個合適的虛擬函數表的指針。然而,在Objective-C的運行時不能初始化虛

函數表指針。因為它不像C++對象的模型,同樣,在Objective-C的運行時不能要求派遣到C + +構造函數或析構這些對象中。如一個C + +類的任何用戶定義的構造或析構函

數,他們不叫。編譯器會發出警告,在這種情況下。

Objective-C中沒有一個嵌套的命名空間的概念。你不能在C + +命名空間聲明Objective - C類,也不能在申Objective -C類聲明命名空間。

Objective-C的類、協議和類別不能聲明在C + +模板中,也不能在一個Objective-C接口、協議或類別的范圍內聲明一個c++模板。

然而,Objective-C的類可以作為C + +模板參數。在Objective-C信息表達式中,C + +模板也可以作為接收器或參數使用(但不作為選擇器的參數)。

小結:Objective-C學習筆記的內容介紹完了,希望本文對你有所幫助!

責任編輯:zhaolei 來源: 互聯網
相關推薦

2011-08-16 10:23:04

Objective-CNSAutoreleaXcode常用鍵

2011-08-04 14:58:37

Objective-C Cocoa NSString

2011-08-15 16:09:44

Cocoa對象Objective-C

2011-07-27 16:36:03

iphone Objective- 靜態庫

2011-08-04 16:46:03

Objective-C 聲明

2011-07-08 13:49:46

Objective-C UUID

2011-05-11 14:06:49

Objective-C

2013-08-21 14:57:42

objective-c問題

2011-07-22 15:42:39

Objective-C UIView 內存

2011-08-04 11:04:14

Objective-C 面向對象 繼承

2011-07-27 17:10:30

Objective-C 持久化

2011-08-04 10:38:17

Objective-C 預處理程序

2011-08-22 09:48:16

WindowsObjective-C

2011-07-25 10:03:06

Objective-C 委托

2011-08-04 13:43:30

Objective-C 私有變量

2011-07-25 14:27:10

Objective-C 協議 函數

2011-07-29 16:08:31

Objective-C 內存

2011-07-25 10:30:41

Objective-C Xcode 重構

2011-07-25 11:02:29

Objective-C Xcode 標簽

2011-07-25 10:14:13

Objective-C Xcode
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧洲亚洲视频 | 国产不卡一区 | 国产a区| av一区二区三区四区 | 激情欧美一区二区三区中文字幕 | www.国产精| 激情91| 午夜视频一区二区 | 成人欧美一区二区三区色青冈 | 日本精品视频在线观看 | 成年人免费在线视频 | 我想看国产一级毛片 | 99成人| 精品一区二区久久久久久久网站 | 中文字幕在线观看精品 | 日韩精品中文字幕在线 | 欧美一级黄色免费看 | 91久久精品国产免费一区 | 91精品国产一区二区三区 | 国产精品视频网站 | 日韩不卡视频在线 | 久久国内精品 | 久久国产精品无码网站 | 日韩国产中文字幕 | 亚洲综合大片69999 | 天天色天天射天天干 | 久久久久久九九九九九九 | 99免费 | 亚洲91精品 | 免费中文字幕日韩欧美 | 日韩精品在线一区 | 日韩精品一区二区三区视频播放 | 伊人影院在线观看 | 欧美日产国产成人免费图片 | 第四色狠狠 | 欧美区日韩区 | 女朋友的闺蜜3韩国三级 | 午夜爱爱毛片xxxx视频免费看 | 小草久久久久久久久爱六 | 国产精品久久久久无码av | 一区二区三区四区视频 |