若类A的构造函数定义为 A(int aa=1, int bb=0) { a = aa; b = bb; } ,则执行:A x(4);后,x.a和x.b的值分别是()
A.1,0
B.1,4
C.4,0
D.4,1
C、4,0
A.1,0
B.1,4
C.4,0
D.4,1
C、4,0
设计一个point(点)类: (1)该类具有成员变量x,y(表示点的横、纵坐标); (2)定义一个有参构造方法point(int x,int y),将其一对坐标值作为参数,其中x,y为给定坐标值; (3)定义一个无参的构造方法point()(令两坐标值均为0); (4)设计一个实例方法distance(point p1,point p2),实现求坐标轴上两个点的距离(Java中的开平方根函数为Math.sqrt()),其方法的声明为:double distance(point p1,point p2) 。 编写Test类,在其main方法中创建2个point对象,对应点(10,10)和点(20,25),再调用distance(point p1,point p2)方法计算出两点之间的距离并输出该值。
class Matrix {
public:
Matrix(int row,int col); // 构造一个具有row 行col 列的矩阵
~Matrix() {delete []mem;} // 析构函数
friend bool Multiply(Matrix &m1, Matrix &m2, Matrix &m3);
// 定义Multiply() 为友元函数,该函数把m1×m2的值赋给m3
// 其他成员函数从略
private:
int *mem; // 动态申请矩阵空间
const int rows,cols; // 矩阵的行数和列数
};
Matrix::Matrix(int row,int col):rows(row),cols(col)
{
mem = new int[row*col];
}
bool Multiply(Matrix &m1, Matrix &m2, Matrix &m3)
{
// 确定矩阵是否能够进行相乘
if(m1.rows != m3.rows ||m2.cols != m3.cols || m1.cols != m2.rows) return false;
// 定义sum变量,用于计算乘积矩阵m3中每个元素的值
int sum;
// 请在下面编写剩余部分
}
A.B::B(int m) : a(m), z(m){ }
B.B::B(int m) : a(),z() { }
C.B::B(int m) : a(m,m), z(m){ }
D.B::B(int m) : a=(m,m), z=m { }
A.int A::*pfun(int)
B.int (A::*pfun)(int)
C.int *A::pfun(int)
D.int (*A::pfun)(int)
A.在C++语言中,如果不自定义类的拷贝初始化构造函数,则每个类都有默认的拷贝初始化构造函数
B.必须为每个类定义拷贝初始化构造函数
C.如果要使用拷贝初始化构造函数,则必须在类中先定义
D.当定义了类的构造函数时,如果要使用拷贝初始化构造函数,则必须定义拷贝初始化构造
E.函数
A.定义类Embed对象的语句是:Contain::Embed embed
B.类Contain的成员函数Contain_Fun()中可以用MyEmbed.y的方式访问类Embed的私有成员y
C.类Embed的成员函数Embed_Fun()中可以直接访问类Contain的私有成员x
D.类Embed的成员函数Embed_Fun()中可以直接访问类Contain的保护成员z