Не работает русский язык с методом класса для инициализации данных

Как вы можете увидеть, русский язык в главной функции работает через смену кодировки. Именно таким образом, поскольку 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);
}

Ответы (0 шт):