![](https://img-blog.csdnimg.cn/20190927151101105.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
c++习题
习题
木一叶liuyue
fighting
展开
-
习题(c++期末知识复习5--)
在派生类中重新定义基类中的虚函数,是函数重载的另一种形式。但虚函数与一般重载函数有区别,具体区别在于:(1) 重载函数的调用是以所传递参数序列的差别作为调用不同函数的依据;而虚函数是根据对象的不同去调用不同类的虚函数。(2) 重载函数在编译时表现出多态性,是静态联编;虚函数则在运行时表现出多态性,是动态联编。**(3) 构造函数可以重载,析构函数不能重载;正好相反,构造函数不能定义为虚函数,析构函数能定义为虚函数。(4) 重载函数只要求函数有相同的函数名,并且重载函数是在相同作用域中定义的名字相原创 2020-07-05 16:41:38 · 262 阅读 · 0 评论 -
习题(c++期末知识复习4--)
1.常函数成员&&常数据成员const位于函数声明后面,声明和定义时都要加;进行函数调用时不能加const;常对象只能调用常函数成员;const成员函数既可引用const数据,也可引用非const数据,但都不能改变值。const函数成员不能访问非const函数成员。非const函数成员可引用const数据,也可引用非cosnt数据,但不能改变const数据。作为函数类型的一部分,const可以参与区分重载函数包含常数据成员的类不能使用默认构造函数。2.静态数据成员静态数据原创 2020-06-26 21:34:21 · 175 阅读 · 0 评论 -
习题(c++期末知识复习3--)
1.构造函数不能声明为虚函数,析构函数可以声明为虚函数,而且有时是必须声明为虚函数,是因为删除指向派生类的基类指针的时候,如果析构函数不是虚函数,派生类的析构函数将不会被执行,直接后果的内存泄漏!!!2.在构造函数或者析构里面调用虚函数:编译不会报错,但是最好不要这样做!构造函数可以被重载,析构函数不可以被重载。因为构造函数可以有多个且可以带参数而析构函数只能有一个,且不能带参数3.某类中的友元类的所有成员函数可以存取或修改该类中的私有成员4.×所谓私有成员是指只有类中所提供的成员函数才能直接使.原创 2020-06-22 21:33:27 · 337 阅读 · 0 评论 -
习题(c++期末知识复习2--)
1.const(1)区别方法,沿着*号划一条线:如果const位于*的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;(常量指针)如果const位于*的右侧,const就是修饰指针本身,即指针本身是常量。(指针常量)(1)指针所指向的内容是常量不可变 const int *p = &a;//常量指针 *p不可修改 *p = 8;(ERROR)(2)指针本身是常量不可变 int * const p = &a //指针常量, *p可以修原创 2020-06-20 16:17:38 · 4167 阅读 · 0 评论 -
习题(c++期末知识复习1--)
1.进制输出int main(){ int i=91; cout<<dec<<i<<endl;//10-->91 cout<<hex<<i<<endl;//16-->5b cout<<oct<<i<<endl;//8-->133}2.设置域宽#include<iomanip>int main(){ int i;原创 2020-06-17 20:59:41 · 246 阅读 · 0 评论 -
虚基类习题(一个公共基类在派生类中产生两个拷贝)
有virtual没virtual的区别#include <iostream>using namespace std;class A{public: int a; A(int x){a=x;}}; class B:public A //由公共基类A派生出类B{ public: int b; B(int x,int y):A(x){b=y;}};class C:public A //由公共基类A派生出类C{public: int c; C(int原创 2020-06-02 19:45:02 · 376 阅读 · 0 评论 -
c++多态习题
1.已知f1和f2是同一类中的两个成员函数,若f1的实现代码体内不能调用f2, 则可能的情况是:(A)fl和f2都是静态函数(B) fl是静态的,f2不是© f1不是静态的,f2是静态的(D) fl和f2都不是静态函数2.一个对象所占的内存空间中可以保存下面哪类数据?(A)静态数据成员(B)内联函数代码.©所有成员函数的入口地址(D)虚函数表的入口地址3.下面关于new和delete操作符的说法,哪个是不正确的:(A)使用new操作符,可以动态分配全局堆中的内存资源。(B)用new申原创 2020-05-15 12:10:56 · 2629 阅读 · 0 评论 -
c++习题(构造函数先输出谁)结果是14302012
调用顺序:Base(派生了Base1与Base2)又派生了Derived,是菱形继承。先看父类的继承(包括Base Base1 Base2)只调用一次虚基类的构造函数,且第一时间调用,Base1与Base2含有的的构造函数作废。①第一时间调用虚基类的构造函数,所以先调用Base(a)输出“1”②derived先继承了Base2,又继承Base1,所以所以先调用Base1(d)输出“4”,此时Base2中的Base(j)已经不再调用,③Base1与Base2一样输出“3”再看derived本身的原创 2020-05-08 17:46:28 · 378 阅读 · 0 评论 -
C++(虚函数习题及复习题目)
原创 2020-05-06 10:01:54 · 801 阅读 · 0 评论