c++ cout 和 cin 不编译
c++ cout and cin doesn't compiles
我正在尝试使用 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)"
operator>>
string
的重载位于 string
header,因此您应该包含它:
#include <string>
我正在尝试使用 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)"
operator>>
string
的重载位于 string
header,因此您应该包含它:
#include <string>