2009-10-27 71 views
0

我非常肯定你们都熟悉Big4的概念,并且我有几件事情可以在构造函数,赋值,析构函数和拷贝构造函数中进行打印。使用' n'打印

的限制是这样的:

我不能在

我可以有一个方法叫打印,所以我的任何方法使用一个以上的换行符(如ƒN或std :: ENDL)猜测打印是我将把那个宝贵的一个,只有'\ n'的地方,我的问题是,如何在每个Big4上打印每个要打印的元素的打印方法?任何想法?也许重载Big4?

+0

通过‘BIG4’,你的意思是‘构造函数,赋值,析构函数,以及拷贝构造函数’,或别的东西完全? – FrustratedWithFormsDesigner 2009-10-27 04:00:28

+3

我不知道Big4指的是什么,这个问题根本没有意义。有人能让它有意义吗? – jmucchiello 2009-10-27 04:02:42

+4

每种方法为什么不能使用多个换行符?你的键盘有什么问题,你怕你会忘记输入键吗?或者你有一个非常小的屏幕,一次看不到所有的代码?对待自己的更好的发展环境;你的代码显然正在遭受痛苦。 – 2009-10-27 05:26:12

回答

1

也许我完全不明白这个问题,因为它被问得很笨拙,但是你不能只是有一个名为newline的函数,它接收一个ostream作为参数,然后简单地在该输出中打印'/ n'流?然后,您可以无限次地调用它,同时仍然遵守任意的“一条新行”规则。

例如

(编辑:删除代码,“闻起来像功课”)

0

我不知道我完全理解你正在试图完成的任务。为什么你只能使用一个换行符?只用一个换行符编写代码很困难吗?例如,我以前做过这样的事情。

for(int i = 0; i < 10; i++) { 
    cout << i << " "; 
} 
cout << std::endl; 

如果你需要更复杂的东西,你可能要做出某种,保持一个标志换行是否已被打印的打印跟踪对象,并相应地调整自己的行为。这看起来可能有点过于复杂。

1

打印应该带一个包含信息的参数输出到屏幕(sans'\ n'),然后调用c + +输出方法,并在内部将“\ n”附加到传入的信息中。

注:无码“导致这种气味像功课,我...

+0

我同意这样的气味肯定会像使用代码一样的任意限制作业。我从我的答案中删除了代码段。 – AndyG 2009-10-27 04:07:14

+0

以及本身不带任何参数的方法印刷,这里的方法签名: 打印() ,我可以这样做a.print()以及它打印过的东西...... – Alex 2009-10-27 05:01:59

+0

所以打印( )方法是否包含在赋值代码中?你能分享一些代码吗?你可以写更多的函数(也许重载print()方法吗?) – beggs 2009-10-27 05:22:29