已自行解决
解决方式:将代码编码格式改为UTF-8-BOM
------------------------------------------------------------
问题跟进:
听从同学说法,把name和gender赋值改成英文,编译通过了。
仍然一脸懵逼??
-----------------------------------------------------------
不分文件可以正常运行。
单独把头文件分出去也可以正常运行。
分成三个文件就莫名其妙在主函数里面有这个报错QAQ
Teacher.h
#include<string>
using namespace std;
class Teacher
{
public:
void setName(string _name);
void setAge(int _age);
void setGender(string _gender);
void teach();
string getName();
int getAge();
string getGender();
private:
string m_strName;
int m_iAge;
string m_strGender;
};Teacher.cpp
#include<iostream>
#include<string>
#include"Teacher.h"
using namespace std;
void Teacher::setName(string _name)
{
m_strName = _name;
}
void Teacher::setAge(int _age)
{
m_iAge = _age;
}void Teacher::setGender(string _gender)
{
m_strGender = _gender;
}
string Teacher::getName()
{
return m_strName;
}
int Teacher::getAge()
{
return m_iAge;
}
string Teacher::getGender()
{
return m_strGender;
}
void Teacher::teach()
{
cout << m_strName + " is teaching" << endl;
}demo.cpp
#include<iostream>
#include<string>
#include"Teacher.h"
using namespace std;
int main()
{
Teacher t;
t.setName("孔子");
t.setAge(30);
t.setGender("男");
cout << t.getName() << " " << t.getAge() << " " << t.getGender() << endl;
t.teach();
getchar();
return 0;
}