- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章课后题答案
第四章
一、填空题
1.数据成员、成员函数;
2.类、析构函数不允许有参数和返回类型(可是显示地说明参数为void)、一个类有1个析构函数;
3.fun::fun(fun )、fun::fun(const fun );
二、单项选择题
1.C。2.C。3.没又答案,应该是A::~A(void)、或A::~A()。4.B。 5.C。 6.C。 7.D
三、改错题
1.return m;---错误,没又定义变量m;
2.A.init(24,56);---错误,没有声明对象A,init函数参数不对应;
Setx函数是int型但是没有返回值
四、完成程序题
1.
#include iostream
using namespace std;
class base
{
private : //私有数据成员
int a, b;
public :
void init(int x, int y)//公有函数
{
a = x;
b = y;
}
void print()
{
cout2 * a - b = (2*a-b) endl;
}
};
void main()
{
base a;
a.init(68,55);
a.print();
}
2.
#include
using namespace std;
class Point
{
private :
int m, n;
public :
Point(int, int);//整型变量,为参数的构造函数
Point(Point);//复制构造函数的原型
print()
{
coutm = m, n = n endl;
}
};
Point::Point(int a, int b)
{
m = a;
n = b;
}
Point::Point(Point t)//复制构造函数的定义
{
m = t.m;
n = t.n;
}
void main()
{
Point a(10,89);
Point b(a);
a.print();
b.print();
}
五、程序分析题
1.没有结果,因为没有main函数
如果加main函数
void main()
{
base b(10, 20);
}
输出:
初始化...10,20
Destory...10,20
2.
输出:
55
六、编程题
1.设计一个点类Point,再设计一个矩形类,矩形类使用Point类的两个坐标点作为矩形的对角顶点。并可以输出4个坐标值和面积。使用测试程序验证程序。
#include
using namespace std;
class Point //点类
{
private:
int x, y;//私有成员变量,坐标
public :
Point()//无参数的构造方法,对xy初始化
{
x = 0;
y = 0;
}
Point(int a, int b)//又参数的构造方法,对xy赋值
{
x = a;
y = b;
}
void setXY(int a, int b)//设置坐标的函数
{
x = a;
y = b;
}
int getX()//得到x的方法
{
return x;
}
int getY()//得到有的函数
{
return y;
}
};
class Rectangle //矩形类
{
private:
Point point1, point2, point3, point4;//私有成员变量,4个点的对象
public :
Rectangle();//类Point的无参构造函数已经对每个对象做初始化啦,这里不用对每个点多初始化了
Rectangle(Point one, Point two)//用点对象做初始化的,构造函数,1和4为对角顶点
{
point1 = one;
point4 = two;
init();
}
Rectangle(int x1, int y1, int x2, int y2)//用两对坐标做初始化,构造函数,1和4为对角顶点
{
point1.setXY(x1, y1);
point4.setXY(x2, y2);
init();
}
void init()//给另外两个点做初始化的函数
{
point2.setXY(po
文档评论(0)