C++ 使用参数与成员变量的方法
当我编写一个类方法并希望将参数传递给这个方法时,我经常想知道什么被认为是“更好的”C++ 使用参数与成员变量的方法,c++,methods,arguments,C++,Methods,Arguments,当我编写一个类方法并希望将参数传递给这个方法时,我经常想知道什么被认为是“更好的” 选项:使用成员变量 class Foo { public: int x, y, result; void SomeMethod() { x = 4; y = 10; AddMethod(); } void AddMethod() {
class Foo {
public:
int x, y, result;
void SomeMethod()
{
x = 4;
y = 10;
AddMethod();
}
void AddMethod()
{
result = x + y;
}
}
class Foo {
public:
int result;
void SomeMethod()
{
result = AddMethod(4, 14);
}
int AddMethod(int x, int y)
{
return (x + y);
}
}
就我个人而言,我通常倾向于使用第二种选择,因为对我来说,它更容易阅读和理解。使用一个或另一个代码的正确推理是什么 OOP中的类是描述对象的东西。以现实世界中的物体为例,汽车。该车可具有
加速至速度(双倍速度)等功能
和一些成员喜欢颜色代码>。方法是对象所做的事情,成员描述对象或显示拥有(汽车可以有发动机发动机;
)。“成员是什么”和“什么是方法”的整个概念是在面向对象编程的基础上的,它不依赖于语言,而是依赖于语言。
您仍然可以这样编写一个汽车类:
class Car {
...
double target_speed;
...
void set_target_speed(double speed) {
target_speed = speed;
}
void accelerate_to_speed() {
current_speed = target_speed;
}
...
}
语言会允许,但这意味着什么?汽车的目标速度是多少?如果不使用汽车,目标速度意味着什么?它是对象状态的一部分还是仅在单个成员函数的上下文中使用?我认为你的示例不是最好的,因为对于你正在做的事情,我根本不会编写一个类来回答这类问题。这完全取决于环境,而你没有表现出来。我明白这是因为你想要一个通用的程序指南,但是没有任何一个——你必须思考和考虑每种情况下的情况,并根据这些论点做出决定。但“这方面没有一般的指导方针”,这也是一个答案,对我很有帮助。即使你最肯定的问题也没有很好的共鸣,谢谢你的回答。