このコードは「Sams Teach Yourself C++」のものですが、シンプルなものかもしれませんが、これを理解しようとするのは苦労しています。 getSpeed()メソッドを使用しないと同じ出力が得られます。それで私はこれが必要ですか?そうでない場合、なぜこの本はそれを使用していますか?このコードを本から理解する助けが必要です
#include <iostream>
class Tricycle
{
public :
int getSpeed();
void setSpeed(int speed);
void pedal();
void brake();
private :
int speed;
};
int Tricycle::getSpeed() //<-- Why do I need this method
{
return speed;
}
void Tricycle::setSpeed(int newSpeed)
{
if (newSpeed >= 0)
{
speed = newSpeed;
}
}
void Tricycle::pedal()
{
setSpeed(speed + 1);
std::cout << "\nPedaling; tricycle speed " << speed << " mph\n";
}
void Tricycle::brake()
{
setSpeed(speed - 1);
std::cout << "\nBraking ; tricycle speed " << speed << " mph\n";
}
int main()
{
Tricycle wichita;
wichita.setSpeed(0);
wichita.pedal();
wichita.pedal();
wichita.brake();
wichita.brake();
wichita.brake();
return 0;
}
ゲッターとセッターについて読んでください。あなたがC++やYAGNIでそれらを必要としているかどうかについては、継続的な議論があります。ここには[C++の本](http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list)の素敵なリストがあります。 –
あなたが表示するコードでは使用されていません。恐らくそれは後に出てくるだろう。これはアクセサ関数です。 –
完全性と最も重要なカプセル化のために、メソッド 'getSpeed()'が定義されています。あなたはいつでも「三輪車」の現在の速度にアクセス/アクセスできるようになります。 – sameerkn