c++ - クラスのメンバーアクセス

原文 c++ class

クラスは次のように定義されます。

class Widget {
  double wgt;
public:
  Widget(double w) : wgt(w) {assert(w>=0);}
  double weight() const { return wgt;}
  double & weight() { return wgt;}

};


メソッドに2つの実装を含める必要がある理由


重量


最初のものについては、そこにput constの効果は何ですか?そして、2番目のものについては、置くこととそこにあることの効果は何ですか?

Widget(double w) : wgt(w) {assert(w>=0);}のコードはコンストラクターとして機能するはずですが、ここでwgt(w)を理解するにはどうすればよいですか?

このクラスは次のように使用できます

Widget w(35);
cout <<w.weight()<<endl;


しかし、w(35)を使用して、定義されたコンストラクターでオブジェクトを作成する方法がわかりませんか?

さらに、このw.weightに使用される関数の重みの実装はどれですか。
答え
constは、オブジェクトとオブジェクトを変更しないことを示す、ユーザーとコンパイラの間の規約です(この場合、取得によって返された値を変更しようとすると、コンパイラはエラーになります。&を使用すると、その参照を取得しますオブジェクト。

Const->変更できない値

&(参照)->変更可能な値への参照の「アドレス」。
関連記事

c++ - ImageMagick C++ API出力16ビットグレースケールpng?

c++ - TWAINでサポートされている解像度を列挙するにはどうすればよいですか

c++ - C++入力が正しいかどうかをユーザーに尋ねるエラー

c# - 分類ライブラリ

c++ - 警告—ポインターと組み合わせた算術式の不審な切り捨て

c++ - VM内でのOpenGL 2.1の使用

c++ - 積分近似関数の再帰

c++ - OpenCVのHello Worldの構築中にシンボルが見つからない

c++ - 他のメモリ順序とmemory_order_seq_cstの違いは何ですか?

c++ - テーブルC++の印刷