-
来自用户 DCLouis C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。查看全部
-
try...catch throw查看全部
-
#include <iostream>查看全部
-
子类析构函数执行后会自动执行父类析构函数查看全部
-
使用throw语句抛出子类的异常时,catch中可以使用子类本身或者是父类来接收异常。查看全部
-
常见异常查看全部
-
在try和catch一对多的情况下,如果出现一个异常,前面的catch均无法处理,可以使用catch( ... ){}的句型对异常进行处理。但该种方式因为接受全部类型的异常,回馈以相同的处理方法,因此比较野蛮。建议不在一对一时使用,在一对多时放在最后面。查看全部
-
try与catch可以是一对一,也可以是一对多,用以灵活处理不同位置出现的异常。查看全部
-
如果在try语句中有多个函数,其中一个函数是fun1,若fun1出现异常,则在try语句中位于fun1后面的函数均不会运行,而是直接跳到catch语句中。查看全部
-
try语句中的函数为主逻辑函数(图示为尝试运行fun1函数),如果运行成功,则执行catch语句后面的语句而跳过catch内的语句;如果运行失败,fun1函数中的throw语句会把异常抛回给catch语句进行相应的处理。查看全部
-
在实例化对象时,如果是在栈中实例化,则在后面调用函数的时候使用取地址符号&;若是在堆中实例化,则后面调用函数的时候无需使用&,变量名本身已经是一个地址。 CanShut *gun = new Gun();//堆中 //Gun gun;//栈中 // 调用含参函数hunting,将对象枪传入函数中 hunting(gun);//堆中 //hunting(&gun);//栈中查看全部
-
virtual-关键字用于修饰虚函数,有以下特性 1.用于修饰的基类的成员函数,被修饰的基类成员函数,其派生类的同名成员函数也默认带有virtual 关键字 2.当virtual 用于修饰析构函数(称为虚析构函数)时,父对象析构时同时会 将子对象析构 3.当virtual 用于修饰成员函数(该函数便成为 虚函数) 虚函数有以下特性 1.类多态实现(使用同一对象(不同参数),同一方法->不同结果)查看全部
-
dynamic_cast查看全部
-
运行时类型识别查看全部
-
虚函数表指针查看全部
举报
0/150
提交
取消