-
typeid注意事项查看全部
-
dynamic_cast注意事项查看全部
-
接口类中仅有纯虚函数,不能含有其它函数, 可以使用接口类指针指向其子类对象,并调用子类对象中实现的接口类中纯虚函数。 一个类可以继承一个接口类,也可以继承多个接口类。 一个类可以继承接口类的同时也继承非接口类。查看全部
-
接口类更多的是表达一种能力和协议。 接口类中没有数据成员,只有成员函数,且成员函数都是纯虚函数。查看全部
-
只有函数声明没有函数定义的虚函数是纯虚函数。 B含有纯虚函数的类叫做抽象类 C不可以使用含有纯虚函数的类实例化对象。 D抽象类的子类也可以是抽象类。查看全部
-
catch(...)是最后的处理<br><br> catch(err 父类)比较常用<br> throw 时可以定义。throw string("blablabla"); throw 时可以动态申请内存。throw new IndexException查看全部
-
抛出了异常后, try 中异常下面相关的也不会运行 catch 可以是一个类型,也可以是一个对象(的引用),etc查看全部
-
typeid(*obj).name(); //传进来的对象的类型名称 typeid(*obj) == typeid(Bird) //可以判断对象类型 typeid(*obj)的返回值是 typeInfo 类 Bird * bird = dinamic_cast<Bird *>(*obj); //<Bird *> 说明 只能应用于指针、引用 的转换 //要转换的类型当中必须包含虚函数 //转换成功,返回子类地址,失败返回NULL查看全部
-
抽象类的子类也可以是抽象类查看全部
-
抽象类无法实例化对象查看全部
-
抽象类查看全部
-
纯虚函数查看全部
-
1.在c++中多态的实现是通过虚函数表实现的 2.每个类只有一份虚函数表,所有该类的对象共用同一张虚函数表 3.两张虚函数表中的函数指针可能指向同一个函数查看全部
-
虚函数表指针占据的是每个对象的前四个内存单元 有虚函数时,对象中首先存虚函数表指针,再存数据成员地址,没有虚函数时,首先存的是数据成员的地址。<br> 有虚函数时,先使用指针 p 指向对象,访问的虚函数表指针,(*p)取得的是虚函数表地址,再使 p++ 就指向了数据成员,(*p)就能取得数据成员的值。查看全部
-
对象的大小:在类实例化的对象当中,数据成员所占据的内存大小(没有成员函数) 对象的地址:通过一个类,实例化了一个对象,对象在内存中占有一定的内存单元,内存单元的第一个单元的地址就是对象的首地址 对象成员的地址:用类实例化一个对象之后,对象当中可能有一个或者多个数据成员,每一个数据成员所占据的地址。对象的每个数据成员,因为类型不同,占据的内存大小也有不同,地址也不同。 一个数据成员都没有,C++用一个内存单元表明对象的存在。 虚函数表指针:具有虚函数的情况下,实例化对象时,对象的第一块内存中存储的是一个指针,为虚函数表指针,占据大小为4. sizeof(对象名):是对象的大小查看全部
举报
0/150
提交
取消