1.数据类型和C语言基本一样。有一个特别数据类型id,可以储存任何类型的对象,它是实现多态和动态绑定的基础。Objective-C2.程序结构Objective-C和C的程序结构一模一样,具体用法相同。顺序、循环、选择3.基本上Objective-C兼容了C语言所有特点,包括数组、结构、字符串、联合...
分类:
其他好文 时间:
2014-07-19 18:03:40
阅读次数:
209
《完美C++(第5版)》为读者提供了一个学习、理解和掌握 C++编程语言的全面视图,覆盖面广、实用性强。书中介绍了 C++的基本数据类型,如字符串、数组、指针、结构体、类等,同时也详细描述了面向对象编程语言的特性:封装、继承和多态,以及这些特性在 C++语言中的具体使用方式。本书的后面章节还重点介绍...
分类:
编程语言 时间:
2014-07-19 17:10:05
阅读次数:
337
编程时一门技术,更是一门艺术简单工厂模式利用面向对象方式通过继承、封装、多态把程序的耦合度降低,设计模式使得程序更加灵活,容易修改,易于复用。下面是服务器计算器代码: 1 using System; 2 using System.Collections.Generic; 3 using System...
分类:
其他好文 时间:
2014-07-19 14:28:14
阅读次数:
217
特殊工具与技术
--运行时类型识别
引:
通过下面两个操作符提供RTTI:
1.typeid操作符,返回指针或引用所指对象的实际类型。
2.dynamic_cast操作符,将基类类型的指针或引用安全地转换为派生类型的指针或引用。
对于带虚函数的类,在运行时执行RTTI操作符,但对于其他类型,在编译时计算RTTI操作符。
当具有基类的引用或指针,但需要执行不是基类组成部分的派生类操作的时候,需要动态的强制类型转换。通常,从基类指针获得派生类行为最好的方法是通过虚...
分类:
编程语言 时间:
2014-07-19 11:45:04
阅读次数:
258
1.简述用虚函数实现的多态的原理: 编译器发现一个类中有虚函数的时候,便会立即为此类生成虚函数表vtable.虚函数表的各 表项为指向对应虚函数的指针.编译器还会在此类中隐含插入一个指针vptr(对vc编译器来 说,它插在类的第一个位置上)指向虚函数表.调用此类的构造函数的时候,在类的构造函数 中,...
分类:
编程语言 时间:
2014-07-19 09:24:27
阅读次数:
242
一个好的框架,不仅能帮助程序开发节约很多时间,同时也能减少bug的引入。这个框架是在ssy同学的基础上进行了一些改进: 主要在于一下几点(会随着项目开发逐渐更新这篇文章) 1. 应用了反射机制,实现网络Task的多态。 2. 应用MVC模式,独立出数据Model,让Activity更加专注在界面响应...
分类:
其他好文 时间:
2014-07-19 08:37:19
阅读次数:
396
1. 面向对象编程基于三个基本概念:数据抽象、继承和动态绑定。
在C++ 中,用类进行数据抽象,用类派生从一个类继承另一个:派生类继承基类的成员。动态绑定使编译器能够在运行时决定是使用基类中定义的函数还是派生类中定义的函数。在C++ 中,多态性仅用于通过继承而相关联的类型的引用或指针。
2. 继承
通过继承我们能够定义这样的类,它们对类型之间的关系建模,共享公共的东西,仅仅特化本...
分类:
编程语言 时间:
2014-07-19 02:35:16
阅读次数:
259
构造函数为什么不能是虚函数从存储空间角度,虚函数对应一个指向vtable虚函数表的指针,这大家都知道,可是这个指向vtable的指针其实是存储在对象的内存空间的。问题出来了,如果构造函数是虚的,就需要通过 vtable来调用,可是对象还没有实例化,也就是内存空间还没有,怎么找vtable呢?所以构造...
分类:
编程语言 时间:
2014-07-19 00:05:20
阅读次数:
321
在C++11中为了帮助程序猿写继承结构复杂的类型,引入了虚函数描写叙述符override,假设派生类在虚函数声明时使用了override描写叙述符,那么该函数必须重载其基类中的同名函数,否则代码将无法通过编译。我们来看一下如代码清单2-25所看到的的这个简单的样例。代码清单2-25struct Ba...
分类:
编程语言 时间:
2014-07-18 19:04:32
阅读次数:
291
这是个提醒,算是吧!如果详细原理过程,可能会有一个大篇幅。但这里不想多加赘述,只说说它的破坏力!最近写了个图像处理框架,要做个基类来handle众多子类,写之前一直申称:要注意内存管理,写好析构函数。谁知最后还是偏偏忘记了将基类析构函数virtual化,结果在操控基类释放内存的一段程序中,发现基类释...
分类:
编程语言 时间:
2014-07-18 12:03:57
阅读次数:
261