Car.hは、私は彼ら
#ifndef CAR_H
#define CAR_H
class Car
{
public:
void setColor(int color);
void colorCarWithRandomColor();
private:
int _color;
};
#endif
Car.cpp
#include "Car.h"
void Car::setColor(int color){
_color = color;
}
void Car::colorCarWithRandomColor(){
// Imagine that there is a function called getRandomColor and that returns random color.
_color = getRandomColor();
// or
setColor(getRandomColor());
// which one is correct
}
したがって、これらのいずれかがに優れて作られたクラスのセッター/ゲッターを使用すべきつかいます。この場合、_color = getRandomColor();
またはsetColor(getRandomColor());
? setColor
関数を呼び出すか、直接変更するのが正しいか_col
_color' '@user彼らが有効とおそらくまったく同じコードにコンパイルされます両方だ – UnholySheep
プライベートです。私は宣言されたクラスであなたのセッターを投げ始めるのが混乱するかもしれないと思う。また、 'Car :: setColor'は、' Car :: getColor'関数を持っていて、 'Car :: setColor'にバリデーションを追加しないと仮定して、検証をしていないように見えます。setters/getterがすべてカプセル化を破棄しています'_color'の中であなたは全く気にしないかもしれません。 – Geoff
@UnholySheep確かに、申し訳ありません。長くて – user