在这种情况下,因为logTransaction是Transaction的纯虚函数,大多数运行的系统会在调用纯虚函数的时候终止程序(通常会发出一个消息)。然而,如果logTransaction是一个“普通的”虚函数(也就是不是纯虚函数),并且在Transaction中有一个实现,如果这个版本的logTransaction被调用,程序会愉快的执行下去,让你自己去理解为什么创建...
都还没被构造出来,这样就会导致不明确行为。 相同道理也适用于析构函数,一旦派生类析构函数开始执行,对象内的派生类成员变量就呈现为定义值,C++视他们不存在,进入基类虚构函数后对象就变成一个基类对象。 解决的办法是将那个函数声明为非虚的但需要参数。 由于你无法使用虚函数从基类向下调用,在构造期间,可以由派生...
[解析] 本题考核纯虚函数的定义。纯虚函数是一种特殊的虚函数,纯虚函数是在虚函数的后面加上“=0”,表示该虚函数无函数体,并非赋值运算。纯虚函数的一般格式如下: virtual<类型><函数名>(<参数表>)=0; 在很多情况下,在基类中不能对虚函数给出有意义的实现,而把它说明为纯虚函数,它的实现留给该...
到目前为止,被调用的函数应该只属于构造对象本身,而不是可能存在于派生类中的某个覆盖函数。那样做非常难理解。最坏的情况,在构造函数或者析构函数中直接或间接调用一个没有实现的纯虚函数会导致没有定义的行为。 Example, bad(反面示例) 代码语言:javascript 复制 classBase{public:virtualvoidf()=0;// not imp...
下列关于虚函数的描述,错误的是( )。? 只有虚函数成员才会在调用时表现出多态性类中的静态函数、构造函数、析构函数都可以是虚函数基类中声明的虚函数成员被继承到派生类后仍是虚函数声明虚函数需使用关键字virtual相关知识点: 试题来源: 解析 类中的静态函数、构造函数、析构函数都可以是虚函数 ...
B.析构函数C.构造函数D.虚函数 该题目是单项选择题,请记得只要选择1个答案!正确答案 点击免费查看答案 试题上传试题纠错题目解答分析 [解析] 本题考核虚函数。在*++语言中,多态性可分为两类:编译时的多态性和运行时的多态性。编译时的多态性是通过函数重载... 更多答案...请查看上面的正确答案TAGS中...
百度试题 题目在下列函数中,不能说明为虚函数的是( ) A. 私有成员函数 B. 公有成员函数 C. 构造函数 D. 析构函数 相关知识点: 试题来源: 解析 C.构造函数 反馈 收藏
28.选D,只有类的成员函数及类的析构函数可以作为虚函数.29.选D,A.可以给虚函数写实现代码,B.在基类和子类都可以.C,说反了.30.选D,友元函数通过类的指针访问类成员函数,不是this,他都不是要访问那个类的成员函数,怎么用this去访问他.结果一 题目 下面函数中,可以作为虚函数的是( )A 普通函数 B 默认构...
在C++中用来实现运行时多态性的是___ 。A.重载函数B.析构函数C.构造函数D.虚函数请帮忙给出正确答案和分析,谢谢!
2在C++中用来实现运行时多态性的是 A.重载函数B.析构函数C.构造函数D.虚函数 3在C++中用来实现运行时多态性的是( )。 A.重载函数B.析构函数C.构造函数D.虚函数 4在C++中用来实现运行时多态性的是 A) 重载函数 B) 析构函数C) 构造函数 D) 虚函数 5在C++中用来实现运行时多态性的是 A.重载函数...