2009-10-27 73 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