Можно ли сделать, чтобы в конструкторе данные вводил пользователь с++ - Вопросы по С+

Вопрос Можно ли сделать, чтобы в конструкторе данные вводил пользователь с++

Регистрация
10 Дек 2013
Сообщения
78
Репутация
0
Спасибо
0
Монет
0
#include <iostream>

#include <string>



using namespace std;



class Building {

private:

int year;

string type;

public:

Building(int y, string t) {

year = y;

type = t;

}



void get_info() {

cout << year << type << endl;

}

};



int main() {

setlocale(LC_ALL, "RU");



Building school(22, "Дом");

school.get_info();



return 0;

}
 
Регистрация
16 Ноя 2012
Сообщения
84
Репутация
1
Спасибо
0
Монет
0
Можно вот так. #include
#include

using namespace std;

static int input(istream& inp, const char* prompt) {
cout > value;
inp.ignore(0x1000, '\n');
return value;
}

class Building {
public:
Building()
: year(0) {}
Building(const int year, const string& type)
: year(year), type(type) {}
private:
int year;
string type;
static friend istream& operator>>(istream& inp, Building& bld) {
bld.year = input(inp, "Год: ");
cout
 
Регистрация
10 Окт 2013
Сообщения
91
Репутация
0
Спасибо
0
Монет
0
С кетчупом будет повкусней
 
Регистрация
30 Окт 2013
Сообщения
74
Репутация
0
Спасибо
0
Монет
0
Да, конечно можно сделать ввод данных в конструкторе, но обычно такое считается плохой идеей
Данные лучше запросить до вызова конструктора и туда передать
 
Сверху Снизу