Не работает русский язык с методом класса для инициализации данных
Как вы можете увидеть, русский язык в главной функции работает через смену кодировки. Именно таким образом, поскольку setlocale() у меня не работает. Проблема заключается в том, что метод класса Children.fData, который инициализирует элементы данных, при вводе латиницы работает нормально, а кириллицу вовсе не воспринимает, хотя по идее должен. Ниже дан код:
#include <iostream >
#include <Windows.h>
using namespace std;
class Children
{
private:
string name, fam; int voz;
public:
int sData(string a, string b, int c){
name = a;
fam = b;
voz = c;
}
void fData(){
cout <<"Имя ребёнка:" <<name<<endl;
cout <<"Фамилия ребёнка:"<<fam<<endl;
cout <<"Возраст ребёнка:"<< voz;
}
};
int main()
{
SetConsoleCP(65001);// установка кодовой страницы win-cp 65001 в поток ввода
SetConsoleOutputCP(65001);
Children Sanya;
string a, b; int c;
cout << "Введите имя ребёнка:"; cin>>a;
cout << "\n" << "Введите фамилию ребёнка:"; cin>>b;
cout << "\n" << "Введите возраст ребёнка:"; cin>>c;
Sanya.sData(a,b,c);
Sanya.fData();
return(0);
}