objective-C五大特性: 完全兼容C 面向对象 单继承(OC里的函数均为虚函数、通过类别和协议实现伪多继承) 动态绑定(dynamic_cast 把基类指针转化为子类指针的时候会自动做判断、ID类型 表示任意类型的对象,实现动态绑定) 消息机制(SmallTalk语言 解决空指针错误崩溃) ...
分类:
其他好文 时间:
2016-03-31 00:12:54
阅读次数:
149
c++中多态的实现我们都知道,c++中的多态是在虚函数的基础上实现的,用指向派生类的基类指针调用派生类(或基类)中自己的成员函数。那么,具体是怎么实现的呢?其实它是通过虚函数表来实现的,虚函数表是保存虚函数地址的一张表,若一个类中有虚函数,当程序运行时,编译器通..
分类:
编程语言 时间:
2016-03-22 00:54:16
阅读次数:
431
在函数声明时加virtual virtual void display(); 实现用基类指针访问派生类函数 要把基类的析构函数声明为 虚函数 这是因为当通过 动态方式 建立 对象的时候,当使用多态性,利用基类指针指向 派生类,那么当对指向派生类的基类指针 使用delete,如果析构函数不是虚基类,则...
分类:
其他好文 时间:
2016-03-18 19:54:33
阅读次数:
166
一、虚函数定义 在某基类中声明为virtual 并在一个或多个派生类中被重新定义的成员函数,用法格式为: virtual 函数返回类型 函数名(参数表) {函数体}; 虚函数是C++语言实现运行时多态的唯一手段,通过指向派生类的基类指针或引用,访问派生类中同名覆盖成员函数。 举个例子: class
分类:
其他好文 时间:
2016-03-03 22:38:29
阅读次数:
326
1.把子类对象作为父类对象使用: 1.1 前提:继承方式必须公有。 1.2 将子类对象用作父类对象。 1.2.1 将子类对象赋值给父类对象。 1.2.2 将父类引用指向子类对象。(即用派生类对象初始化基类引用) 2. 基类指针指向派生类 3. 向下类型转换:将基类的指针或者引用转化为派生类的指针和引
分类:
编程语言 时间:
2016-03-01 11:00:56
阅读次数:
233
简单来说析构函数就是回收站。若系统不及时去回收这些垃圾(通常是无用的内存资源),那么时间越久肯定会有越来越多的垃圾。在开相同的程序,有时候手机和电脑重启了一下,速度会明显变快很多。因为RAM中的资源掉电后就释放了。 在C++中,析构函数就是释放无用资源的。在派生类中,假设用基类指针指向了一个派生类的
分类:
其他好文 时间:
2016-02-19 00:24:30
阅读次数:
256
多态性:静态联编多态性(编译时的多态性)通过函数,运算符的重载实现的(系统根据形参的个数来实现编译的多态性)动态联编多态性(运行时的多态性)通过继承,虚函数(当运行时才能实现对象与函数的联编)C++规定:动态联编是在虚函数的支持下实现的 条件:指向派生类对象的基类指针或者引用派生类对象的基类引用(调...
分类:
其他好文 时间:
2015-12-11 01:21:21
阅读次数:
216
动态多态与静态多态动态多态:允许我们通过单个基类指针或引用处理多个派生类型的对象. 模板元编程中强调静态多态,允许不同类型的对象以同样的方式被操纵,只要它们支持某种共通的语法即可.动态多态,连同"延迟绑定"或"运行期派发",是面向对象程序的关键特性.静态多态(也称参数化多态),是泛型编程的本质要素....
分类:
Web程序 时间:
2015-11-20 22:58:23
阅读次数:
188
C++ 在某基类中声明为 virtual 并在一个或多个派生类中被重新定 义的成员函数,用法格式为:virtual 函数返回类型 函数名(参数表) {函数体};实现多态性,通过指向派生类的基类指针或引用,访问派生类中同名覆盖成员函数。简单地说,那些被virtual关键字修饰的成员函数,就是虚函数。....
分类:
编程语言 时间:
2015-11-04 19:13:48
阅读次数:
243
一般来说,有使用visual的类,其析构函数都需要加上visual,这是为什么呢?因为使用多态时,一般都是由基类指针来使用派生类的,在删除这个派生类对象时也一样,由基类指针来调用,可以想象,如果析构函数不是虚函数,那么使用基类指针来删除对象,就相当于告诉编译器,我要析构基类(在没使用visual时,...
分类:
其他好文 时间:
2015-10-30 16:58:43
阅读次数:
130