全球旧事资料 分类
所以实现的是动态的多态性。它体现的是一个纵向的概念,也即在基类和派生类间实现。31构造函数和析构函数是否可以被重载为什么答:构造函数可以被重载,析构函数不可以被重载。因为构造函数可以有多个且可以带参数,而析构函数只能有一个,且不能带参数。32如何定义和实现一个类的成员函数为回调函数?答:所谓的回调函数,就是预先在系统的对函数进行注册,让系统知道这个函数的存在,以后,当某个事件发生时,再调用这个函数对事件进行响应。定义一个类的成员函数时在该函数前加CALLBACK即将其定义为回调函数,函数的实现和普通成员函数没有区别33虚函数是怎么实现的?答:简单说来使用了虚函数表34抽象类不会产生实例,所以不需要有构造函数。错35从一个模板类可以派生新的模板类,也可以派生非模板类。对36mai
函数执行以前,还会执行什么代码?答案:全局对象的构造函数会在mai
函数之前执行。37当一个类A中没有生命任何成员变量与成员函数这时sizeofA的值是多少,如果不是零,请解释一下编译器为什么没有让它为零。(Autodesk)答案:肯定不是零。举个反例,如果是零的话,声明一个classA10对象数组,而每一个对象占用的空间是零,这时就没办法区分A0A1…了。38delete与delete区别:答:delete只会调用一次析构函数,而delete会调用每一个成员的析构函数。
3
f39.子类析构时要调用父类的析构函数吗?答:会调用。析构函数调用的次序是先派生类的析构后基类的析构,也就是说在基类的的析构调用的时候派生类的信息已经全部销毁了40继承的优缺点。1、类继承是在编译时刻静态定义的,且可直接使用,2、类继承可以较方便地改变父类的实现。缺点:1、因为继承在编译时刻就定义了,所以无法在运行时刻改变从父类继承的实现2、父类通常至少定义了子类的部分行为,父类的任何改变都可能影响子类的行为3、如果继承下来的实现不适合解决新的问题,则父类必须重写或被其他更适合的类替换。这种依赖关系限制了灵活性并最终限制了复用性。41解释堆和栈的区别。答:栈区(stack)由编译器自动分配释放,存放函数的参数值,局部变量的值等。堆(heap)一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。42一个类的构造函数和析构函数什么时候被调用是否需要手工调用答:构造函数在创建类对象的时候被自动调用,析构函数在类对象生命期结束时,由系统自动调用。43何时需要预编译:答:总是使用不经常改动的大型r
好听全球资料 返回顶部