编程题.这个编程题我怎么连意思都读不懂?有明白的吗?帮忙解一下。

编写一个正方形类Square,包含:一个protected属性:正方形的边长a。两个构造方法:(1)一个带有一个参数的构造方法,用于将a属性初始化;(2)一个不带参数的构... 编写一个正方形类Square,包含:
一个protected属性:正方形的边长a。
两个构造方法:
(1)一个带有一个参数的构造方法,用于将a属性初始化;
(2)一个不带参数的构造方法,将正方形初始化为边长为10。
两个方法:
(1)求正方形面积的方法area()
(2)求正方形周长的方法perimeter()

通过继承Square类编写一个具有确定位置的正方形类PlainSquare,其确定位置用正方形的左上角坐标来标识,包含:
添加两个属性:正方形左上角坐标startX和startY。
两个构造器方法:
(1)带3个参数的构造方法,用于对startX、startY和a属性初始化;
(2)不带参数的构造方法,将正方形初始化为左上角坐标、边长都为0的正方形;
添加一个方法:判断某个点是否在正方形内部的方法isInside(double x, double y)。如在正方形内,返回true, 否则,返回false。提示:点在正方形内是指满足条件:
x>=startX&&x<=(startX+a)&&y>startY&&y<=(startY+a)
不是我看它,今天下午java面向对象程序设计考试,这是老师给的复习资料的编程题,我也觉得这个题很垃圾,读都读不明白。
展开
 我来答
恬然且谦虚的小才子Q
2011-01-01 · TA获得超过1361个赞
知道小有建树答主
回答量:933
采纳率:0%
帮助的人:397万
展开全部
这不是<<C++编程思想>>中的问题!
原问题是:(见《thinking in C++ 2nd》)
33. Repair the problem in Exercise 32 using technique one
shown in this book.
意思是修正练习32中的错误。32题是:
32. In a header file, create a class Mirror that contains two
data members: a pointer to a Mirror object and a bool.
Give it two constructors: the default constructor
initializes the bool to true and the Mirror pointer to zero.
The second constructor takes as an argument a pointer to
a Mirror object, which it assigns to the object’s internal
pointer; it sets the bool to false. Add a member function
test( ): if the object’s pointer is nonzero, it returns the
value of test( ) called through the pointer. If the pointer is
zero, it returns the bool. Now create five cpp files, each
of which includes the Mirror header. The first cpp file
defines a global Mirror object using the default
constructor. The second file declares the object in the first
file as extern, and defines a global Mirror object using
the second constructor, with a pointer to the first object.
Keep doing this until you reach the last file, which will
also contain a global object definition. In that file, main( )
should call the test( ) function and report the result. If the
result is true, find out how to change the linking order
for your linker and change it until the result is false.

我是在想不通你的题目从哪里来的。
32题的要求是:
If the result is true, find out how to change the linking order for your linker and change it until the result is false.
如果结果是真,找出如何为你的链接器改变(这些实现文件的)链接顺序,并且改变它(链接顺序)直到返回false.

这个问题的核心目的就是为了让你理解:
用extern声明一个变量,可以告诉编译器这个变量在别的地方已经实现过了,编译器在使用它之前应现查找它的实现。
如此以来程序就不会出现不可预知的错误了。

最后告诉你一个有价值的信息:几年前有人写过一个《给C++初学者的50点忠告》的帖子,上面有一条:“请看《thinking in C++》而不要看《C++变成死相》”。这就是说,《C++编程思想》这本书的翻译是超级垃圾的。我看过不少网友批评此书的翻译者太不负责,而由这道题目可见一般。
既然如此,你为什么还看它?

祝你好运!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式