c ++ cout和cin没有编译

时间:2016-03-15 12:24:40

标签: c++ iostream

我试图使用visual studio编写一个非常基本的c ++代码。 代码没有编译,因为“cin'并且' cout'。 这是代码:

#include <iostream>

using namespace std;

class employer
{
private:
    string id;
    float work_hours, over_time_hours,hourly_salary,salary;
public:
    employer()
    {
        id="123456789";
        hourly_salary=25;
        work_hours=0;
        over_time_hours=0;
        salary=0;
    }
    void get_employer()
    {
        cin >> id >> salary >> work_hours >> over_time_hours;
    }
    void print_employer()
    {
        cout << "I.D. #" << id << "\n and his hourly salary is: " << salary << '\n';
    }
        void salary_calculation()
    {
        salary= (work_hours*hourly_salary + 1.5*over_time_hours*hourly_salary);
    }

};
int main(){
    employer employer1;
    employer1.get_employer();
    employer1.salary_calculation();
    employer1.print_employer();
    return 0;
}

,编译错误是:

"1>ex1.cpp(21): error C2678: binary '>>' : no operator found which takes a left-hand operand of type 'std::istream' (or there is no acceptable conversion)"

1 个答案:

答案 0 :(得分:7)

operator>>

string重载位于string标题中,因此您应该将其包含在内:

#include <string>