什麼後果成員項目傳遞不必要的成員函數(除貧窮代碼等):C++傳遞一個類成員項目成員函數
struct foobar
{
char * arr; //properly initialized to SIZE at some point
}
class foo
{
public:
void bar(foobar&);
foobar barfoo;
};
void foo::bar(foobar& barf)
{
cin.get(barf.arr, SIZE, '\n');
cin.ignore(100, '\n');
}
有什麼理由不直接刪除bar
中的參數並直接撥打barfoo
?如果有的話,不這樣做的後果是什麼?
你怎麼稱呼foo :: bar()?你不能從課外訪問私人成員。 – betabandido
語義不同,也不是「錯」。 – ildjarn
假設它的所有公共或使用get_foobar函數返回一個結構 – Flexo1515