-
函数限制了传入的参数的参数体类型,并且在函数中可以放心的调用接口中定义的纯虚函数。 这就是接口的最常用法。 多继承的便利。查看全部
-
接口没有构造函数和虚构函数,也没有cpp文件,也没有数据成员查看全部
-
抽象类中只含有纯虚函数,不含有其他任何函数,叫做接口类。 定义:仅含有纯虚函数的类叫做接口类。也不含有数据成员。 在实际中,接口类更多的表达一种能力或者一种协议。查看全部
-
c++和c语言大小写敏感查看全部
-
包含纯虚函数的原理,纯虚函数在虚函数表中的值是0。 成员函数都有一个有意义的值。 含有纯虚函数的类叫抽象类。 抽象类无法实例化对象。(无法调用纯虚函数,不允许实例化对象) 抽象类的子类也可能是抽象类,也可能不是抽象类,即把抽象类中所有纯虚函数都实现,子类才可以实例化对象。查看全部
-
纯虚函数:没有函数体,同时,在定义时函数名后要加=0查看全部
-
每个类只有一份虚函数表,所有该类的对象共用同一张虚函数表查看全部
-
实例化一个对象时,产生一个虚函数表,在对象中生成一个虚函数表指针,占据对象的前四个内存单元。 父类的虚函数会被子类继承。查看全部
-
强制类型转换,将shape类型的指针转化为int类型的指针。查看全部
-
对象的大小:在类实例化出的对象中数据成员占据的内存大小,不包括成员函数。 对象的地址:通过一个类实例化一个对象,对象在内存中会占有一定的内存单元,内存单元的第一个内存单元的地址。 对象成员的地址:用类实例化一个对象之后,对象当中可能有一个或者多个数据成员,每一个数据成员所占据的地址。对象的每个数据成员,因为类型不同,占据的内存大小也有不同,地址也不同。 一个数据成员都没有,C++用一个内存单元表明对象的存在。 虚函数表指针:具有虚函数的情况下,实例化对象时,对象的第一块内存中存储的是一个指针,为虚函数表指针,占据大小为4. sizeof(对象名):是对象的大小查看全部
-
在子类中定义了同名的虚函数,就会在子类的虚函数列表中将父类中定义的虚函数的函数地址覆盖掉。<br> 虚析构函数的原理<br> 通过子类的虚函数指针找到虚函数表列表,然后找到虚析构函数,执行子类的虚析构函数,再自动执行父类的虚析构函数。查看全部
-
多态的原理<br> 在子类中访问父类的计算面积的函数,也能通过虚函数表指针找到子类自己的虚函数,也是指向父类的计算面积的函数的入口的。<br> 若子类定义了自己的计算面积的函数,通过相同的偏移量找到的是子类的计算面积的虚函数。查看全部
-
函数的本质是写在内存中的一段二进制代码,函数指针由四个基本的内存单元组成,存放的函数的地址。 通过类实例化的每一个对象都有一个虚函数表指针,它们的值都一样,都指向类的虚函数表。 使用时,通过虚函数表指针找到虚函数表,通过位置的偏移,找到相应的虚函数。查看全部
-
try catch throw 用法: try ..catch(捕获)try可以以一对多 catch(...){};可以粗暴的处理所有异常 throw(抛出异常) try不能有参数。catch的参数必须与throw的类型相同查看全部
-
抽象类无法实例化对象,因为抽象类中含有纯虚函数,纯虚函数是没有函数体的,所以无法调用该成员函数,也就无法实例化对象,所以子类要继承抽象类,并实现抽象类中所有的纯虚函数,这样子类就可以实例化对象了查看全部
举报
0/150
提交
取消