C++课后习题!!!

来源:百度知道 编辑:UC知道 时间:2024/05/14 05:05:37
把定义平面直角坐标系上的一个点的类CPoint作为基类,派生出描述一条直线的类CLint,在派生出一个矩形类CRect.要求成员函数能够求出两点间的距离,矩形的周长和面积等.设计一个测试程序,并构造完整的程序.

这题比较简单,我不提供源代码给你了,让你自己写比较容易锻炼,呵呵!
CPoint代表一个点,而直线需要2个点才能确定,所以在Cline类中再加入一个CPoint对象就可以确定唯一的直线了.
而矩形可以通过一条直线确定其对角线从而确定唯一的矩形,所以直接派生就可以,添加几个成员函数,求周长和面积即可.通过上面派生下来的2个点坐标 X2-X1 =矩形的长,Y2 - Y1 = 矩形的宽,所以很容易求出周长和面积.两点距离也容易求,根号下 ((X2 -X1)的二次方加上(Y2-Y1)的二次方) 数学公式来的.
这个题很容易做,但我觉得这题出得很不好,因为派生的关系被他弄得很浑浊,其实,他这里说的派生一定是public派生,而public派生的意义是"是一种"的关系,就是说"派生类是一种基类",而直线根本不是一种点,矩形更不是一种直线,所以这样很容易造成新手的不理解.这样出题是不道德的.呵呵
这题留给你写代码吧,原理我已经告诉你啦!希望你从中获益!但是以后对这种题要提高警惕,你自己要保持清醒的头脑,知道public继承的意义才行