下の関数の使い分けを理解するために
int get() const {return x;} // const member function
const int& get() {return x;} // member function returning a const&
const int& get() const {return x;} // const member function returning a const&
コードを書いたのですが定義の時点でエラーがでています。
各コードは同じクラス内で共存できないような感じを受けたのですが、どのようにコードを編集したらいいか教えてください。よろしくお願いします
コード #include<iostream> using namespace std; class Myclass{ int x; public: Myclass(int val):x(val){} const int& get() const{return x;} int get() const {return x;} const int& get() {return x;} }; void print(const Myclass& arg){ cout<<arg.get()<<'\n'; } int main(){ Myclass foo(10); print(foo.get()); const Myclass fai(20); print(fai.get()); return 0; }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/11/08 12:08
2015/11/08 12:14
2015/11/08 12:35
2015/11/08 13:27
2015/11/08 13:35
2015/11/08 14:07