2013-01-22 3 views
1

Я написал простую программу массива объектов в классе. Может кто-нибудь пожалуйста, скажите мне, что я делаю неправильномассив объектов в классе

#include<iostream> 
#include<iomanip> 
using namespace std; 
class employee 
    { 
    int name; 
    public: 
     void getdata(void); 
     void putdata(void); 
    }; 
void employee :: getdata(void) 
     { 
     cout<<"enter name:"; 
     cin>>name; 
     } 
void employee :: putdata(void) 
     { 
     cout<<"Name:"<<name<<endl; 
     } 
int main() 
{ int i; 
    employee manager[4]; 
    for(i=0;i<3;i++) 
     { 
     manager[i].getdata(); 
     } 
    for(i=0;i<3;i++) 
     { 
     manager[i].putdata(); 
     } 
return 0; 
} 

ВЫВОД:

enter name:naveen 
enter name:enter name:Name:0 
Name:0 
Name:134515033 
[email protected] 
+1

ваши скобки .. функции должны быть внутри определения класса. – Ofiris

+2

'name' - это' int', поэтому имя 'cin >>' не будет выдаваться с '' naveen ''и' naveen "' будет оставаться во входном потоке, не загружаемом. Используйте 'std :: string' и _check_ результат операций ввода. – hmjd

+0

@hmjd .... спасибо, что он сработал – user1977172

ответ

2

Вы int name;, когда вы 'CIN naveen назвать это не удается, поэтому имя не инициализирован.

изменение:

int name;

в

#include <string> 
std::string name; 
Смежные вопросы