已知print是某个类的常成员函数,返回值类型为void,正确的定义形式是()
A.voidconstprint()
B.constvoidprint()
C.voidprint()const
D.voidprint(const)
A.voidconstprint()
B.constvoidprint()
C.voidprint()const
D.voidprint(const)
A.java接口包含函数声明和常量声明
B.java中的集合类(如Vector)可以用来存储任何类型的对象,且大小可以自动调整。但需要事先知道所存储对象的类型,才能正常使用
C.java中,子类不可以访问父类的私有成员和受保护的成员
D.在java中,可以用异常(Exception)来抛出一些并非错误的消息,但这样比直接从函数返回一个结果要花费更大的系统开销
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(){}
};
已知substr(s,i,len)函数的功能是返回串s中第i个字符开始长度为len的子串,strlen(s)函数的功能是返回串s的长度。若s="ABCDEFGHUK",t="ABCD",执行运算substr(s,strlen(t),strlen(t))后的返回值为______。
A.一个类中只能有一个构造函数
B.C#的类中默认包含一个无参的构造函数
C.构造函数的名称必须与类名相同
D.构造函数只能返回void类型
A.B类的所有成员函数都是A类的友元函数
B.B类指定的成员函数才是A类的友元
C.A类的所有成员函数可以访问B类的成员
D.B类的私有成员函数不能可以访问A类的私有成员