什么后果成员项目传递不必要的成员函数(除贫穷代码等):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