当前位置: 首页 > news >正文

做汽车微信广告视频网站有哪些大连免费建站模板

做汽车微信广告视频网站有哪些,大连免费建站模板,年度个人工作总结,wordpress开cdn一、选择题 1、下列关于动态联编的描述中#xff0c;错误的是#xff08;#xff09;。 A#xff0e;动态联编是以虚函数为基础 B#xff0e;动态联编是运行时确定所调用的函数代码的 C#xff0e;动态联编调用函数操作是指向对象的指针或对象引用 D#xff0e;动态联编…一、选择题 1、下列关于动态联编的描述中错误的是。 A动态联编是以虚函数为基础 B动态联编是运行时确定所调用的函数代码的 C动态联编调用函数操作是指向对象的指针或对象引用 D动态联编是在编译时确定操作函数的 答案D 2、设置虚基类的目的是 B A简化程序 B消除二义性 C提高程序运行效率 D减少目标代码 3、在派生类中重新定义虚函数时必须在ABE方面与基类保持一致。(多选题) A参数个数 B参数类型 C参数名字 D操作内容 E返回类型 4、多继承派生类构造函数构造对象时()被最先调用。 A派生类自己的构造函数 B虚基类的构造函数 C非虚基类的构造函数   D派生类中子对象类的构造函数 答案 分析多继承派生类构造函数构造对象时构造函数的调顺序是虚基类的构造函数 派生类中子对象类的构造函数, 派生类自己的构造函数。 5、C类体系中能被派生类继承的是()。 A构造函数 B虚函数 C析构函数 D友元函数 答案 分析C类体系中构造函数、析构函数和友元函数是不能被派生类继承的 6、关于虚函数的描述中正确的是。 A虚函数是一个静态成员函数 B虚函数是一个非成员函数 C虚函数即可以在函数说明定义也可以在函数实现时定义 D派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型 答案D 7、下面4个选项中 是用来声明虚函数的。 Avirtual Bpublic Cusing Dfalse 答案A 8、编译时的多态性可以通过使用( )获得。 A虚函数和指针 B重载函数和析构函数 C虚函数和对象 D虚函数和引用 答案C编译时多态就是静态多态静态多态有函数重载、运算符重载、模板。A与D都可以实现动态多态。 使用对象调用虚函数是静态联编也就是静态多态(上课虚函数访问讲过) 9、关于纯虚函数和抽象类的描述中错误的是 。 A纯虚函数是一种特殊的虚函数它没有具体的实现 B抽象类是指具有纯虚函数的类 C一个基类中说明有纯虚函数该基类派生类一定不再是抽象类 D抽象类只能作为基类来使用其纯虚函数的实现由派生类给出 答案C 10、下列描述中 是抽象类的特征。 A可以说明虚函数 B可以进行构造函数重载 C可以定义友元函数 D不能说明其对象 答案D 11、以下 成员函数表示虚函数。 Avirtual int vf(int); Bvoid vf(int)0; Cvirtual void vf()0; Dvirtual void vf(int) { }; 答案C 12、如果一个类至少有一个纯虚函数那么就称该类为A。 A抽象类 B虚函数 C派生类 D以上都不对 答案A 13、要实现动态联编必须通过 调用虚函数。 A对象指针 B成员名限定 C对象名 D派生类名 答案A 14、下面描述中正确的是A。 Avirtual可以用来声明虚函数 B含有纯虚函数的类是不可以用来创建对象的因为它是虚基类 C即使基类的构造函数没有参数派生类也必须建立构造函数 D静态数据成员可以通过成员初始化列表来初始化 答案A 二、写出下列程序的输出结果。 1、分析下列程序的输出结果。 #include iostreamusing std::endl; using std::cout;class A { public:A() { cout As cons. endl; }virtual ~A() { cout As des. endl; }virtual void f() { coutAs f().endl; }void g() { f();} }; class B : public A { public:B() { f(); coutBs cons.endl; }~B() { coutBs des.endl; } }; class C : public B { public:C() { coutCs cons.endl; }~C() { coutCs des.endl; }void f() { coutCs f().endl; } }; int main(void) { A *anew C;a-g();delete a;return 0; }运行结果 A’s cons. A’s f(). B’s cons. C’s cons. C’s f(). C’s des. B’s des. A’s des. 2、根据给定的程序执行结果将下列程序补充完整。 #include iostreamusing std::endl; using std::cout;class Base { public:Base(int i) {b i;}(1)    protected:int b; }; class Derive1 :public Base { public:(2)   void Print(){coutDerive1s Print() called.endl;} }; class Derive2 :public Base {   (3)    }; void fun(  (4)  ) { obj-Print(); } int main(void) { (5)   fun(d1);fun(d2); } 程序的执行结果如下 Derive1s Print() called. Derive2s Print() called.#include iostreamusing std::endl; using std::cout; class Base { public:Base(int i){bi;}virtual void Print(){}; protected:int b; }; class Derive1 :public Base { public:Derive1():Base(1){}void Print(){coutDerive1s Print() called.endl;} }; class Derive2 :public Base { public:Derive2():Base(1){}void Print(){coutDerive2s Print() called.endl;} }; void fun(Base *obj) {obj-Print(); }int main(void) {Base *d1new Derive1;Base *d2new Derive2;fun(d1);fun(d2);return 0; }3、根据给定的程序执行结果 #include iostream using std::endl; using std::cout;class A { public:A(int i,int j) {ai;bj;}void move(int i,int j) {ai;bj;}void disp() { cout ( a , b ) endl;} private:int a,b; };class B:public A { public:B(int i,int j,int k,int l):A(i,j),x(k),y(l){ }void disp() {cout x , y endl;}void fun() {move(3,5);} private:int x,y; };void main() {A m(1,2);m.disp();B d(3,4,5,6);d.fun();d.A::disp();d.disp(); }结果 (1,2) (6,9) 5,6 4、根据给定的程序执行结果 #include iostream using std::endl; using std::cout;class Base { public:Base(){ a5;coutBase aaendl;} protected:int a; };class Base1:virtual public Base{ public:Base1(){ aa10; coutBase1 aaendl;} };class Base2: virtual public Base{ public:Base2(){aa20; coutBase2 aaendl;} };class Derived :public Base1 ,public Base2 { public:Derived(){ coutDerived aaendl;} };int main(void) { Derived obj;return 0; }运行结果 Base a5 Base1 a15 Base2 a35 Derived a35 5、根据给定的程序执行结果 #includeiostreamusing std::endl; using std::cout;class Base1{ public:virtual void fun() { cout--Base1--\n; } };class Base2{ public:void fun() { cout--Base2--\n; } };class Derived :public Base1 ,public Base2 { public:void fun(){ cout--Derived--\n; } };int main() {Base1 obj1,*ptr1; Base2 obj2,*ptr2; Derived obj3; ptr1obj1; ptr1-fun(); ptr2obj2; ptr2-fun(); ptr1obj3; ptr1-fun(); ptr2obj3; ptr2-fun(); return 0; }运行结果 –Base1– –Base2– –Derived– –Base2– 6、写出下列程序的结果 class A { public:void FuncA(){printf( FuncA called\n );}virtual void FuncB(){printf( FuncB called\n );} }; class B : public A { public:void FuncA(){A::FuncA();printf( FuncAB called\n );}virtual void FuncB(){printf( FuncBB called\n );} }; void main( void ) {B b;A *pa;pa b;A *pa2 new A;pa-FuncA(); 3 pa-FuncB(); 4pa2-FuncA(); 5pa2-FuncB();delete pa2; }keyFuncA called FuncBB called FuncA called FuncB called 解析 B b; A *pa; pa b; A *pa2 newA; pa-FuncA(); 3//pab动态绑定但是FuncA不是虚函数所以FuncA called pa-FuncB(); 4//FuncB是虚函数所以调用B中FuncBFuncBB called pa2-FuncA(); 5//pa2是A类指针不涉及虚函数调用的都是A中函数所以FuncA called FuncB called pa2-FuncB() 7、写出下列程序的结果 class Base {public:Base(int j): i(j) {}virtual~Base() {}void func1() {i * 10;func2();}int getValue() {return i;}protected:virtual void func2() {i;}protected:int i; }; class Child: public Base {public:Child(int j): Base(j) {}void func1() {i * 100;func2();}protected:void func2() {i 2;} }; int main() {Base * pb new Child(1);pb-func1();cout pb-getValue() endl; delete pb; } key:12 Base * pb new Child(1) 首先创建子类对象初始化为1 func1()不是虚函数所以pb-func1()执行的是基类的func1函数i 10然后调用func2()函数 这里的func2是虚函数要往下派生类寻找找到后执行派生类中的func2(),此时i 12 最后执行pb-getValue(),结果为12 三、简答题 什么是多态虚函数的实现原理是什么? 主要是两个1. 隐藏实现细节使得代码能够模块化扩展代码模块实现代码重用 接口重用为了类在继承和派生的时候保证使用家族中任一类的实例的某一属性时的正确调用。 不能设置为虚函数的函数有哪些构造函数能设置为虚函数吗为什么 不能设置为虚函数的函数有 (1)普通函数非成员函数 (2)友元函数 (3)构造函数 (4)静态成员函数 (5)内联函数 构造函数不能被设置为虚函数 1构造函数发生的时机在编译阶段虚函数发生的时机在运行阶段 2构造函数不能被继承虚函数可以被继承 3如果将构造函数设置为虚函数那么就需要通过虚表找到虚函数的入口地址那么就需要虚函数指针指向虚表而虚函数指针存在对象布局的最前面而如果构造函数不调用那么对象就不一定是完整的那么对象的存储布局的前面就不一定有虚函数指针那如果没有虚函数指针就不能指向虚表。 在什么情况下析构函数要设置成虚函数为什么 为了解决内存泄漏的问题所以需要将析构函数设置为虚函数。 什么是纯虚函数什么是抽象类抽象类的作用是什么 答抽象类是含有纯虚函数的类其作用是作为多个表象不同但本质相同类的抽象。 故抽象类仅可以作为基类被继承不可以实例化生成对象不能初始化不能被当做返回值不能当做参数但可以做指针类型和引用 什么是重载什么是隐藏什么是覆盖他们之前的区别是 答成员函数被重载特征是 1相同的范围在同一个类中 2函数名字相同 3参数不同 4virtual 关键字可有可无 覆盖就是指派生类函数覆盖基类virtual函数特征是 1不同的范围分别位于派生类与基类 2函数名字相同 3参数相同 4基类函数必须有virtual 关键字 “隐藏”是指派生类的函数屏蔽了与其同名的基类函数派生对象都是调用派生类的同名函数。规则如下 1如果派生类的函数与基类的函数同名但是参数不同此时不论有无virtual关键字、基类的函数将被隐藏; 2如果派生类的函数与基类的函数同名并且参数也相同、但是基类函数没有virtual 关键字此时基类的函数被隐藏注意别与覆盖混淆 总结 ①同一类中的同名函数是重载 ②不同类中同名函数可能是覆盖也可能是隐藏。根据是否有virtual以及函数参数是否相同区分
http://www.w-s-a.com/news/878078/

相关文章:

  • 网站建设公司行业建设网站需要提供什么资料
  • 别人的做网站网页打不开图片
  • 北京专业网站设计推荐怎么建立网站网址
  • 上海网站建设开发公司哪家好网站数据搬家
  • 杭州建站平台哪里有免费的网站推广软件
  • 深圳极速网站建设服务什么网站可以做产品入驻
  • 淄博易宝网站建设app推广拉新公司
  • 营销型外贸网站建设软件备案域名出租
  • 网站域名禁止续费m99ww094cn 苍井空做的网站
  • 上海建设工程网站大同网站建设熊掌号
  • 设计类书籍网站江苏网站建设简介模板
  • 手机企业网站推广c 手机app开发
  • 网站建设需要多少天凡客建设网站稳定吗
  • 房天下网站建设女生说wap是什么意思
  • 网站开发安全机制北京做网站多少钱合理
  • 扁平化 公司网站建设大型视频网站需要的资金量
  • 免费建各种网站淄博网站建设yx718
  • 凡科网建站入门教程运城市网站建设
  • 黄浦区未成年人思想道德建设网站oa系统是什么
  • 微信里的网站怎么做电子商务网站开发平台
  • 易企秀网站怎么做轮播图网站建设张世勇
  • 网站备案幕布尺寸建立网页的几个步骤
  • pc网站页面找出网站所有死链接
  • 专业做seo的网站网站内连接
  • 阿里云网站开发服务器想开网站建设公司
  • 网站开发不足之处茶叶seo网站推广与优化方案
  • 响应式网站建设系统网站优化怎么做 有什么技巧
  • 班级网站做哪些方面wordpress标签 扩展
  • 如何在电商上购物网站Wordpress 域名授权插件
  • 网站建设后台怎么弄昆明如何做好关键词推广