std :: cinの演算子>>に一致しません

Computernerd

クラスの従業員がいます

#include <iostream>
#include <string>
#include <fstream>
using namespace std;

class employee
{
    public:

            double operator + (employee);
            istream& operator>> (istream&);

            employee(int);
            double getSalary();

    private:

           double salary;

};

int main()
{  
  employee A(400);
  employee B(800);

  employee C(220);

  cin>>C;

}

employee::employee(int salary)
{
    this->salary = salary;
}


double employee::operator + (employee e)
{
    double total;

    total = e.salary + this->salary;

    return total;    
}


double employee::getSalary()
{
    return this->salary;
}

istream& employee::operator>> (istream& in)
{
    in>>this->salary;

    return in;

}

従業員オブジェクトを読み込むために入力演算子>>をオーバーロードしようとしていますが、次のエラーが発生します

std :: cinの演算子>>に一致しません

私は何が間違っているのですか?

編集:私は友達関数を介してそれを行う方法を知っています、私は今メンバー関数を介してそれを行う方法を学ぼうとしています

ジョナサン・ウェイクリー

私は友達関数を介してそれを行う方法を知っています、私は今メンバー関数を介してそれを行う方法を学ぼうとしています

できません。

バイナリ用operator@とオブジェクトA aB b、構文がa @ bコールするいずれかの形式の非メンバ関数operator@(A,B) またはフォームのメンバ関数A::operator@(B)他には何もありません。

したがって、std::cin >> C動作させるには、のメンバーである必要がありstd::istreamますが、変更std::istreamできないためoperator>>、メンバー関数として実装することはできません

(あなたが奇妙で型破りで、書くC << std::cinC >> std::cinまたは書きたいのでなければ、他のプログラマーはあなたを混乱させて型破りであると嫌うでしょう。これをしないでください。)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

エラー:std :: cinの「演算子>>」に一致するものがありません

分類Dev

stdベクトルが演算子に一致しません==

分類Dev

'std :: operatorの' operator << 'に一致しません

分類Dev

C ++ "std :: vector <std :: pair>を出力するときに演算子<<"に一致しません

分類Dev

演算子 '='に一致しません(std :: array <T、3>およびstd :: initializer_list <T>)

分類Dev

演算子に一致しません

分類Dev

'(std :: vector <std :: vector <int >>)(int、std :: vector <int>)'の呼び出しに一致しません

分類Dev

std :: vectorのMPI_Send / Recvが一致しません

分類Dev

エラー: '(std :: string {aka std :: basic_string})()'の呼び出しに一致しません

分類Dev

std :: mapのエントリにアクセスすると、「これらのオペランドに一致する演算子「[]」はありません」

分類Dev

Eclipseのstd :: find()に一致する関数がありません。XCodeで正常に動作します

分類Dev

エラー: '(const std :: ranges :: __ sort_fn)の呼び出しに一致しません

分類Dev

カスタムstd :: setコンパレータ-[...]への呼び出しに一致しません

分類Dev

カスタムstd :: setコンパレータ-[...]への呼び出しに一致しません

分類Dev

C ++エラー: '(std :: list <int>)(int&)'の呼び出しに一致しません

分類Dev

getline(std :: istream&、int&)の呼び出しに一致する関数がありません

分類Dev

'std :: operator ....の' operator <'に一致しません。これはどういう意味ですか?

分類Dev

'std :: advance'エラーの呼び出しに一致する関数がありません

分類Dev

エラー:「getline(FILE *&、std :: string&)」の呼び出しに一致する関数がありません

分類Dev

C ++:std :: deque <SnakePart> :: emplace_frontの呼び出しに一致する関数がありません

分類Dev

C ++演算子<<に一致しません

分類Dev

エラー:演算子<<に一致しません

分類Dev

演算子の実装中のエラー>>:C ++これらのオペランドに一致する演算子がありませんオペランドタイプは次のとおりです。std:: istream >> const double error

分類Dev

要素std :: arrayを直接割り当てることはできません。演算子 "="が一致しないと表示されます

分類Dev

std :: sizeおよびstd :: emptyの特殊化がテンプレートと一致しません

分類Dev

なぜこのコンパイラエラー?-'std :: basic_ofstream <char> :: open(std :: string&) 'の呼び出しに一致する関数がありません

分類Dev

std :: make_sharedは値の初期化を実行しますか(GCCとclangは一致しません)?

分類Dev

可変引数を持つstd :: forward(const std :: string&)の呼び出しに一致する関数がありません

分類Dev

エラー: 'std :: map <std :: __ cxx11 :: basic_string <char>の呼び出しに一致する関数がありません

Related 関連記事

  1. 1

    エラー:std :: cinの「演算子>>」に一致するものがありません

  2. 2

    stdベクトルが演算子に一致しません==

  3. 3

    'std :: operatorの' operator << 'に一致しません

  4. 4

    C ++ "std :: vector <std :: pair>を出力するときに演算子<<"に一致しません

  5. 5

    演算子 '='に一致しません(std :: array <T、3>およびstd :: initializer_list <T>)

  6. 6

    演算子に一致しません

  7. 7

    '(std :: vector <std :: vector <int >>)(int、std :: vector <int>)'の呼び出しに一致しません

  8. 8

    std :: vectorのMPI_Send / Recvが一致しません

  9. 9

    エラー: '(std :: string {aka std :: basic_string})()'の呼び出しに一致しません

  10. 10

    std :: mapのエントリにアクセスすると、「これらのオペランドに一致する演算子「[]」はありません」

  11. 11

    Eclipseのstd :: find()に一致する関数がありません。XCodeで正常に動作します

  12. 12

    エラー: '(const std :: ranges :: __ sort_fn)の呼び出しに一致しません

  13. 13

    カスタムstd :: setコンパレータ-[...]への呼び出しに一致しません

  14. 14

    カスタムstd :: setコンパレータ-[...]への呼び出しに一致しません

  15. 15

    C ++エラー: '(std :: list <int>)(int&)'の呼び出しに一致しません

  16. 16

    getline(std :: istream&、int&)の呼び出しに一致する関数がありません

  17. 17

    'std :: operator ....の' operator <'に一致しません。これはどういう意味ですか?

  18. 18

    'std :: advance'エラーの呼び出しに一致する関数がありません

  19. 19

    エラー:「getline(FILE *&、std :: string&)」の呼び出しに一致する関数がありません

  20. 20

    C ++:std :: deque <SnakePart> :: emplace_frontの呼び出しに一致する関数がありません

  21. 21

    C ++演算子<<に一致しません

  22. 22

    エラー:演算子<<に一致しません

  23. 23

    演算子の実装中のエラー>>:C ++これらのオペランドに一致する演算子がありませんオペランドタイプは次のとおりです。std:: istream >> const double error

  24. 24

    要素std :: arrayを直接割り当てることはできません。演算子 "="が一致しないと表示されます

  25. 25

    std :: sizeおよびstd :: emptyの特殊化がテンプレートと一致しません

  26. 26

    なぜこのコンパイラエラー?-'std :: basic_ofstream <char> :: open(std :: string&) 'の呼び出しに一致する関数がありません

  27. 27

    std :: make_sharedは値の初期化を実行しますか(GCCとclangは一致しません)?

  28. 28

    可変引数を持つstd :: forward(const std :: string&)の呼び出しに一致する関数がありません

  29. 29

    エラー: 'std :: map <std :: __ cxx11 :: basic_string <char>の呼び出しに一致する関数がありません

ホットタグ

アーカイブ