关于virtual void Draw()=0,下面说法正确的有几个?
(1)它是纯虚函数
(2)它在定义它的类中不能实现
(3)定义它的类不可实例化
(4)如果一个类要继承一个ADT类,必须要实现其中的所有纯虚函数
- 有纯虚函数的类即为抽象类,子类可以是抽象类,最后一层子类需要实例化的时候,需要重写之前父类的所有纯虚函数,继承不需要,因此1.2.3对4错
对于类的常成员函数的描述正确的是
常成员函数不修改类的数据成员
-
常成员函数是指在函数定义的末尾加一个const.
-
如: void A (int x ) const{ return x; }
-
1.它表示这个函数内的代码不会改变传入参数的值,方便了程序员阅读代码和减少bug
-
2.当一个对象为const时,只有常成员函数才能调用它,没有定义const的函数会有改变其值的嫌疑,故不能成功编译。
-
如: class Set{ Add(){} Show() const{} } const Set s; s.Add(10);
-
// 非法: AddElem不是常量成员函数 s.Show(10);
无条件转移指令功能是将指令中的地址码送入
pc
- 直接寻址是指操作数存放在内存单元中,指令中直接给出操作数所在存储单元的地址。而跳转指令中的操作数即为要转向执行的指令地址,因此,应将指令中的地址码送入程序计数器(PC),以获得下一条指令的地