2016-03-15 112 views
2

我想用visual studio编写一个非常基本的C++代码。 由于'cin'和'cout',代码不能编译。 这里是代码:C++ cout和cin不编译

#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)" 
+3

是什么'string'? - 它应该是'std :: string',用于'iostream' – MikeCAT

+1

@mike'使用命名空间std' –

+2

您需要'#include '。 –

回答

7

operator>>重载string位于string头,所以你应该包括它:

#include <string>