我正在阅读代码完成并且有一个关于“简化参数传递”的问题。作者说如果你在几个例程中传递一个参数,这可能表明需要将这些例程分解为一个将参数作为类数据共享的类。
这是否意味着如果我有几个使用相同数据的独立类,我应该创建一个使用该数据的新类,然后继承以创建新类?
或者
这是否意味着如果我的程序中有一堆松散的例程,我应该继续将它们放入类中并获得封装等的好处。
谢谢
答案 0 :(得分:0)
后者。看起来他们正在谈论这样的案例:
void function_1(std::string& my_data);
void function_2(std::string& my_data);
void main() {
std::string my_data = "SomeString";
function_1(my_data);
function_2(my_data);
}
可以改为:
class MyClass {
std::string my_data;
pulbic:
MyClass(const std::string& str) : my_data(str) {}
void function_1();
void function_2();
}
void main() {
MyClass obj("SomeString");
obj.function_1();
obj.function_2();
}
其中function_1
和function_2
使用my_data
字段,而不是每次都必须传递字符串。