A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 牛角尖、 中级黑马   /  2015-12-19 14:56  /  982 人查看  /  9 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

你已经精通了Objective-C,并且一直想学更酷的东西?看看这篇文章吧!本文将向iOS开发者介绍C++。稍后我会介绍,Objective-C能够无缝地使用C和C++代码。因此,基于以下几点原因,iOS开发者理解C++将会很有帮助:

1.有时候你想在应用中使用一个用C++编写的库。
2.你可能用C++写一部分应用程序的代码,以便更容易跨平台移植。
3. 了解其他语言通常能帮助你更好地理解编程。
这篇文章针对那些已经理解Objective-C的iOS开发者。前提是假定你已明白怎么写Objective-C代码,并熟悉基本的C概念,比如类型、指针、函数等。

准备好学C++了么?那么就马上开始吧!

开始:语言简史

C++和Objective-C有一些共源:它们都根植于老式的好用的C语言,都是C语言的“超集”。因此,你可以在这两种语言中使用C语言的一些功能,和每种语言的附加特性。

如果你熟悉Objective-C,那么你将能粗略地理解你所遇到的C++代码。例如,两种语言中的数值类型(int型、float型和char型)的表现方式和使用规则都是完全一样的。

Objective-C和C++都在C语言基础上添加了面向对象的特征。如果你不熟悉“面向对象”,那么你真正需要明白的是面向对象指数据是由对象表示的,而对象是类的实例。事实上,C++最初称为“C with Classes”,内在的涵义是使C++面向对象。

“那么有什么区别么?”我听到了你的疑问。最大的区别是面向对象特性的方法。在C++中,很多行为是发生在编译时,而在Objective-C中,大多数是发生在运行时。你可能已经修改了Objective-C的运行时间来实现了一个类似method swizzling的诡计,而在C++中这是不可能的。

C++也不像Objective-C一样有大量内省以及映射方法。在C++中,没有办法获得C++对象的类,而在Objective-C中你可以在一个实例中调用“类”方法。同样的,在C++中也没有相当于isMemberOfClass或者isKindOfClass的类。

以上对C++的粗略介绍显示了C++和Objective-C的历史和主要不同点。历史部分已经完成了,到我们继续学习一些C++特征的时间了。

C++ 类

在任何面向对象语言中,首先你要知道的是如何定义一个类。在Objective-C中,你通过创建一个头文件和一个执行文件来定义一个类,在C++中同样如此,语法也十分相似

9 个回复

倒序浏览
6666666666
回复 使用道具 举报
感谢分享
回复 使用道具 举报
qu29437 来自手机 中级黑马 2015-12-19 20:54:38
板凳
好好学习天天向上加油
回复 使用道具 举报
感谢分享~
回复 使用道具 举报
余超324 来自手机 中级黑马 2015-12-20 14:08:28
地板
感谢分享,楼主厉害。
回复 使用道具 举报
我让java的面向对象就搞得头晕目眩的,哎哟喂
回复 使用道具 举报
分享的很到位,谢谢!
回复 使用道具 举报
chensc 金牌黑马 2015-12-21 15:16:58
9#
学习学习!
回复 使用道具 举报
谢谢  大神分享
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马