Форум программистов, компьютерный форум CyberForum.ru

Программа с векторами - C++

Восстановить пароль Регистрация
 
OVERPOWER8
 Аватар для OVERPOWER8
19 / 19 / 1
Регистрация: 29.11.2009
Сообщений: 224
24.12.2009, 02:53     Программа с векторами #1
Прошу вас проверить, что в данной программе неправильно, т. к. я не нахожу никаких ошибок. Однако, компилятор работает с ней совсем не так, как хотелось бы...

C++
1
2
3
4
5
6
7
8
9
10
11
12
class Employee
{
    public:
        Employee(int a) {}
        int GetAge() { return << Age; }
        string GetName() { return << string; }
    private:
        string name;
        int Age;
        int Salary;
        int YOS;
};
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int main()
{
    vector <Employee> instances; // создает вектор из Employee
 
    int number, current;
 
    cout << "How much employees to create?\n-> ";
    cin >> number;
 
    int i;
    for(int i=1; i<=number; i++)
    instances.push_back(Employee(i));
 
    instances[7];                       // перейти к 7 объекту.
 
    instances[7].GetAge();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.12.2009, 02:53     Программа с векторами
Посмотрите здесь:

C++ Операции с векторами и матрицами
Проблема с векторами. C++
Работа над векторами! C++
Работы в векторами. C++
C++ Работа с векторами в C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
24.12.2009, 03:50     Программа с векторами #2
Во первых, 7 объект существует в момент обращения?
Во вторых, return << Age - это что?
OVERPOWER8
 Аватар для OVERPOWER8
19 / 19 / 1
Регистрация: 29.11.2009
Сообщений: 224
24.12.2009, 12:32  [ТС]     Программа с векторами #3
>> kazak

Да дело НЕ в этом. Сама конетрукция неверная. - надо по другому создавать вектор объектов...
Aye Aye
 Аватар для Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
24.12.2009, 13:10     Программа с векторами #4
kazak прав. return << Age; - это ваще немыслимо правельно return Age;
и так
C++
1
string GetName() { return << string; }
нельзя в твоем классе нет поля данных по имени string что бы его возвращать.
что бы имя вернуть надо:
C++
1
string GetName() { return name; }
ты поподробнй опиши, что не наравится компилятору (кроме return << Age)?

и кстати если компилятору что то не наравится это не значит что надо менять " конструкцию", надо просто удалить ошибки из кода.

... и с вектором все нормално в твоем коде.

Добавлено через 5 минут
вместо Employee(int a) {} - пустого копирующего конструктора лучше сделай конструктор по умолчанию
C++
1
Employee() {name=" ";Age=0;Salary=0;YOS=0;}
он вызывается если обьект создается и не инициализируется копированием, вот так:
C++
1
Employee E;
Yandex
Объявления
24.12.2009, 13:10     Программа с векторами
Ответ Создать тему
Опции темы

Текущее время: 08:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru