完成下列类的构造函数,初始化语句为______。
include<iostream.h>
class Test
{
private:
int x,y;
public:
void Test(int initx,int inity){
______
}
void printx( ){cout<<x<<"-"<<y<<"="<<x-y;}
};
void main( )
{
Test x(300,200);
x.printx( );
}
第1题:
使用VC6打开考生文件夹下的工程test24_3,此工程包含一个源程序文件test24_3.cpp,其中定义了抽象类point和它的派生类line,但它们的定义并不完整。请按要求完成下列操作,将程序补充完整。
(1)定义类point的构造函数,函数含参数i和j它们都是int型数据,默认值都是0,用i和j分别将point的数据成员x0和y0初始化。请在注释“//**1**”之后添加适当的语句。
(2)完成类point的成员函数纯虚函数void set()和void draw()的定义,请在注释“//**2**”之后添加适当的语句。
(3)添加类line的构造函数,函数含参数i,j,m和n,它们都是int型数据,默认值都是0,用i和j分别将point的数据成员x0和y0初始化。请在注释“//**3**”之后添加适当的语句。输出结果如下:
line::set()called.
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
源程序文件test24_3.cpp清单如下:
include<iostream.h>
class point
{
public:
//**1**
//**2**
protected:
int xO,yO;
}
class line: public point
{
public:
//**3**
{
x1=m;
y1=n;
}
void set(){ cout<<"line::set() called.\n"; }
void draw(){ cout<<"line::draw() called.\n"; }
protected:
int x1,y1;
};
void main()
{
line *lineobj = new line;
1ineobj->set();
}
第2题:
以下程序的运行结果是______。
include<iostream.h>
include<math.h>
template<class T>
class TAdd//定义类模板TAdd,T为类型
{
Tx,y;
public:
TAdd (Ta,Tb) {x=a,y=b;) //构造函数
Tadd() { retum x+y;}//成员函数
};
void main( )
{
TAdd<int>A (5,6);
第3题:
如下程序编译时发生错误,错误的原因是show函数实现语句错误,则正确的语句应该为______。
include<iostream.h>
class test
{
private:
int hum;
public:
test(int);
void show( );
};
test::test(int n){num=n;}
test::show( ){cout<<num<<endl;}
void main( )
{
test T(10):
T.show( );
}
第4题:
根据下面的主程序,完成类的一种构造函数的最简单形式。
include<iostream.h>
class base
{
private:
int num;
public:
______;
};
void main( )
{
base try(6);
}
第5题:
使用VC6打开考生文件夹下的工程test11_3。此工程包含一个test11_3.cpp,其中定义了类CPosition,但该类的定义都并不完整。请按要求完成下列操作,将类CPosition的定义补充完整。
(1)在类定义外完成重载的两个构造函数CPosition()和CPosition(double dx,double dy),其中前者为不带参数的构造函数,使CPosition对象的默认值为x=0,y=0,后者为带参数的构造函数,把数据成员x和y分别初始化为参数dx和dy的值。请在注释“//**1**”之后添加适当的语句。
(2)在类体中添加函数move(double ax,double ay)的定义,使得点的坐标x和y分别移动ax和ay个单位,请在注释“// **2**”之后添加适当的语句。
(3)完成函数double distance (double bx,double by)的定义,该函数返回*this和点(bx,by)的距离,请在注释“//**3**”之后添加适当的语句。
注意:除在指定的位置添加语句外,请不要改动程序中的其他语句。
源程序文件test11_3.cpp清单如下:
include<iostream.h>
include<math.h>
class CPosition
{
public:
CPosition();
CPosition(double dx,double dy);
double getx();
double gety();
// ** 2 **
double distance(double bx,double by);
private:
double x;
double y;
};
// ** 1 **
{
x=0;y=0;
}
CPosition::CPosition(double dx,double dy)
{
x=dx;y=dy;
}
double CPosition::getx()
{
return x;
}
double CPosition::gety()
{
return y;
}
double CPosition::distance(double bx,double by)
{
// ** 3 **
}
void main()
{
double a,b;
cout << "Input x, y position of a point:";
cin >> a >> b;
CPosition psA(a,b);
cout << “Input x,y position of another point:";
cin >> a >> b;
cout << "The distance is " << psA.distance(a,b) <<endl;
}