私はC++を学んでいますが、constを理解しようとしています。私はgetterと表示関数に値を変更したり、表示したりする時にconstを使っていました。私は、私はプログラムのこの部分までのconstですべての問題を持っていなかったいくつかのヘッダーと.CPPファイルを使用するプログラムに取り組んでいますC++ constヘッダファイルのプロトタイプで動作しません - 再宣言またはプロトタイプエラーなし
は:
プログラムのこの部分は、製品の情報を収集します。それは3つの表示オプションがあります。 3つのディスプレイはすべてconstに設定されており、エラーはありません。私はエラーを持っているように見えるとゲッターのほとんどはのconstれていない、他のゲッターとセッターを、持っている同じファイルで
float getShippingCost() const{return shippingCost;}
float getTotalPrice() const{return totalPrice;}
:私のヘッダファイルで
は、私はこれらの2つのプロトタイプを持っています。
私はメソッドを持って、私の.cppファイルで:
float Product :: getShippingCost() {
insert code here, proven to work before I started working with
const and other files, the return as shown earlier is in the .h file,
the same is true for the next method.}
float Product :: getTotalCost(){insert code here}
私は.cppファイルにメソッドを設定した場合、私は再宣言エラーが発生します。私がconstを削除すると、.hエラーで見つからないプロトタイプが得られます。私は、.cppファイルへのリターンの移動を含め、私が考えることができるすべてを試しました。
誰かがこの機能の仕組みを説明できますか?私はこれを理解していると思ったが、今はちょっと混乱している。
私のコードは以下の通りです:
#include <iostream>
#include <iomanip>
using namespace std;
class Wallet
{
private:
float money;
float dollars;
float cents;
public:
float getMoney() const {return money;}
void display()const;
};
float Wallet::getMoney() const { money += dollars + cents; }
void Wallet::display() const { cout << "You have $" << money << endl; }
申し訳ありません。申し訳ありません。私は、第2行から最後の段落の第1行に.cppファイルのメソッドをconstに設定することを意味します。 –
実際のコードを投稿してください。たとえば、プロトタイプにボディがあるのはなぜですか? –
あなたは[mcve]を共有できますか –