0
所以基本上我剛剛用我的一個類方法(函數)中使用cout/cin的簡單代碼編寫了我的程序。我知道這很糟糕,不應該這樣做,我應該如何切換它們?在我的課程中,我應該怎樣改變cout/cin的東西?
例如,現在我有班人類。它有一些領域(變量),如性別,身高,年齡。
我有一個名爲的getInfo()方法,它基本上是一個很大的
cout << "Whats your age?" << endl;
cin >> age;
等。我應該怎樣改變它們?我應該使用類似的東西
ostream& operator<<(ostream &o, const Human &s)
istream& operator>>(istream &i, Human &s)
我有這些功能寫下來,但他們基本只是toString或不?
我應該用什麼toString? (需要toString - 我的項目thingy任務)。
重載操作符的行爲將類似於getInfo()和toString方法?爲什麼你只需要詢問方法和cin/cout的信息就行了? –
那麼,toString()方法通常用於在字符串中格式化和顯示輸出。您可以在其中使用超載的運營商'<<' and '>>'。 –
答案取決於您真正需要(或已被要求)做的事情......我將首先「解耦」包含數據的類(人類)以及從用戶獲取數據的方式並將其分配給人類對象。 toString()方法可能只是將人類信息(年齡,名稱,...)格式化爲一個std :: string,可以輸出到人類之外的某個地方(請注意,在我看來,這真的很難看C++,提供運算符<<(std :: ostream&) – roalz