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

Статические и динамические объекты - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.58
Шиншилка
0 / 0 / 0
Регистрация: 20.04.2011
Сообщений: 5
25.04.2011, 14:48     Статические и динамические объекты #1
Используя объекты, классы, конструкторы и деструкторы необходимо разработать программу по следующим заданиям. Создать динамический массив объектов класса. Используя статическую переменную в конструкторе определять количество созданных объектов.
Задача:
Составить программу для подсчёта количества сотрудников компании, у которых стаж работы больше 15 лет. Количество сотрудников для ввода определить во время создания объекта.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fasked
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
25.04.2011, 15:09     Статические и динамические объекты #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#include <iostream>
using std::cin;
using std::cout;
using std::endl;
 
#include <string>
using std::string;
 
struct employee 
{
    employee()
    {
        ++count;
    }
 
    string name;
    int expirience;
 
    static size_t getCount() {
        return count;
    }
 
private:
    static size_t count;
};
 
size_t employee::count;
 
template <typename T>
class vector
{
public:
    typedef size_t size_type;
    typedef T  value_type;
    typedef T& reference;
    typedef T* pointer;
    
    vector(size_type size = 0) : _size(size), _data(new value_type[_size]) 
    { 
    }
 
    ~vector()
    {
        delete [] _data;
    }
 
    size_type size() const 
    {
        return _size;
    }
 
    reference& operator[] (size_type i)
    {
        if (i < _size)
            return _data[i];
        else
            throw string("bad index");
    }
 
private:
    size_type _size;
    T * _data;
};
 
int main()
{
    int n = 0;
    cout << "input n: ";
    cin  >> n;
 
    vector<employee> v(n);
 
    for (vector<employee>::size_type i = 0; i < v.size(); ++i)
    {
        cout << "name: ";
        cin  >> v[i].name;
 
        cout << "expirience: ";
        cin  >> v[i].expirience;
 
        cout << endl;
    }
 
    cout << "search of employees" << endl;
 
    int exp = 15;
    for (vector<employee>::size_type i = 0; i < v.size(); ++i)
    {
        if (v[i].expirience > exp)
            cout << v[i].name << endl;
    }
 
    cout << "Total number of created employess' object: " << employee::getCount() << endl;
    return 0;
}
Код
input n: 5
name: a
expirience: 10

name: b
expirience: 15

name: c
expirience: 20

name: d
expirience: 25

name: e
expirience: 30

search of employees
c
d
e

Total number of created employess' object: 5
Так???
Шиншилка
0 / 0 / 0
Регистрация: 20.04.2011
Сообщений: 5
25.04.2011, 15:45  [ТС]     Статические и динамические объекты #3
Fasked,спасибо , напишите пожалуйста программу на С++ для подсчёта количества сотрудников компании, у которых стаж работы больше 15 лет,используя классы и объекты
ForEveR
25.04.2011, 17:35
  #4

Не по теме:

fasked, Сань, на кой вектор-то ты свой написал? оО

fasked
25.04.2011, 17:42     Статические и динамические объекты
  #5

Не по теме:

Цитата Сообщение от ForEveR Посмотреть сообщение
fasked, Сань, на кой вектор-то ты свой написал? оО
Чтоб деструктор был

Yandex
Объявления
25.04.2011, 17:42     Статические и динамические объекты
Ответ Создать тему
Опции темы

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