A.系统将先调用基类的同名函数,再调用派生类的同名函数。
B.系统将先调用派生类的同名函数,再调用基类的同名函数。
C.系统直接调用基类的同名函数,不调用派生类的同名函数。
D.系统直接调用派生类的同名函数。
A.派生类的对象可以赋给基类的对象
B.派生类的对象可以初始化基类的引用
C.派生类的对象可以直接访问基类中的成员
D.派生类的对象的地址可以赋给指向基类的指针
/****************** 文件shape.h*************************/
const float PI=3.14159f; // 定义圆周率常量
class Shape // 几何图形抽象类
{
public:
virtual float GetPerimeter()=0; // 纯虚函数,计算周长
virtual float GetAre()=0; // 纯虚函数,计算面积
};
class Rectangle: public Shape // 矩形类
{
public:
Rectangle (float len,float wid):length(len),width(wid){}
~Rectangle (){}
float GetPerimeter() {return 2*(length width);} // 计算矩形周长
float GetAre() {return length*width;} // 计算矩形面积
private:
float length, width; // 矩形的长和宽
};
class Circle: public Shape // 圆类
{
public: // 在下面编写每个成员函数
private:
float rad; // 圆的半径
};
class Square: public Rectangle // 正方形类
{
public:
Square(float len): Rectangle(len,len){}
~Square(){}
};
A.派生类构造函数,需要为基类构造函数传递参数
B.派生类构造函数,需要为内嵌子对象的初始化传递参数
C.派生类构造函数,仅对派生类的新增数据成员初始化传递参数
D.派生类构造函数,可以采用初始化列表的方式为常成员函数传递初始化参数
工作底稿是完整的,在它:
A.与内部审计活动的格式要求相符;
B.包含了审计发现的所有属性;
C.是清晰、简明和准确的;
D.满足了已制定的业务目标。
A.protected是成员访问修饰符
B.protected成员可在同一个类中或派生类中被访问
C.protected是把成员保护起来,让外界完全无法访问
D.protected是类的默认修饰符
A.可被三种类引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
B.只能被同一个包中的类访问
C.只能被该类自身所访问和修改
D.可以被两种类访问和引用:该类本身、该类的所有子类
A.变量用protected修饰
B.变量用public修饰
C.变量用private修饰
D.变量不使用修饰符