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

Классы. Объявить массив динамически и сделать указатель на объект в динамической памяти - C++

Восстановить пароль Регистрация
 
taeas1995
6 / 2 / 0
Регистрация: 19.01.2012
Сообщений: 157
16.02.2013, 02:25     Классы. Объявить массив динамически и сделать указатель на объект в динамической памяти #1
Я создал классы: ПЕРСОНА, служащий, роботодатель, инженер. Но мне нужно в программе (после int main() 69 строка) объявить массив динамически и сделать указатель на объект в динамической памяти. Помогите пару строчек исправить. Вот код:
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
#include "stdafx.h"
#include<iostream>
#include<conio.h>
#include<string.h>
#include<string>
using namespace std;
 
class Persona
{
public:
    string name;
    int stag;
    void Set_name()
    {
        cout<<"vvedit imya: ";
        getline(cin,name);
    }
    void Set_stag()
    {
        cout<<"Vvedit stag: ";
        cin>>stag;
    }
    int Get_stag()
    {
        return stag;
    }
    virtual ~Persona() {};
    virtual float Zarplata()=0;
    void Show(float y)
    {
        cout<<"Imya="<<name<<endl;
        cout<<"Stag="<<stag<<endl;
        cout<<"Zarplata="<<y<<endl;
    }
};
 
class Slugb: public Persona
{
    static const int money=1000;
public:
    float Zarplata()
    {
        int x=Get_stag();
        return(money*x/4.5);
    }
};
 
class Robit: public Persona
{
    static const int money=2000;
public:
    float Zarplata()
    {
        int x=Get_stag();
        return(money*x/4.);
    }
};
class Ingener: public Persona
{
    static const int money=3000;
public:
    float Zarplata()
    {
        int x=Get_stag();
        return(money*x/3.);
    }
};
 
int _tmain(int argc, _TCHAR* argv[])
{
    const int n=3;
    float mas[n];
    int i=0;
    Slugb P1();
    P1.Set_name();
    getch();
    return 0;
}
Добавлено через 3 часа 13 минут
помогите пожалуста( очень нужно сделать
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.02.2013, 02:25     Классы. Объявить массив динамически и сделать указатель на объект в динамической памяти
Посмотрите здесь:

C++ Как можно узнать размер выделенной динамической памяти, на которую ссылается указатель a?
C++ Как объявить массив динамически, заполнив его случайными числами
C++ Указатель,объект класса размещенный в динамической памяти
C++ Ошибка при попытке разыменовать указатель, который размещен в динамической памяти другим процессом
C++ Как обнулить указатель на одну ячейку в динамически-выделенной памяти?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,512
16.02.2013, 03:01     Классы. Объявить массив динамически и сделать указатель на объект в динамической памяти #2
Ну массив рабочих наверное имеется в виду ... тогда можно так:
C++
1
2
3
4
    int size = 10;
    Persona** persons = new Persona*[size];
    for(int i=0; i<size; i++)
        persons[i] = new Ingener();//здесь можешь какого-то другого наследника присваивать, например Robit или кто там у тебя
taeas1995
6 / 2 / 0
Регистрация: 19.01.2012
Сообщений: 157
16.02.2013, 16:03  [ТС]     Классы. Объявить массив динамически и сделать указатель на объект в динамической памяти #3
спасибо .... но у меня не определяется тип (_TCHAR) в 69 строке... с чем это может быть связано?

Добавлено через 3 часа 4 минуты
никто незнает?(
HighPredator
 Аватар для HighPredator
5351 / 1734 / 320
Регистрация: 10.12.2010
Сообщений: 5,120
Записей в блоге: 3
16.02.2013, 16:13     Классы. Объявить массив динамически и сделать указатель на объект в динамической памяти #4
Если у вас компилятор от MS, то подключите заголовочный файл tchar.h. А лучше используйте нормальное описание главной функции
C++
1
int main(int argc, char *argv[])
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
16.02.2013, 16:13     Классы. Объявить массив динамически и сделать указатель на объект в динамической памяти #5
taeas1995, чужой код что ли скопировали?
int _tmain(int argc, _TCHAR* argv[])
заменить на
int main()
Yandex
Объявления
16.02.2013, 16:13     Классы. Объявить массив динамически и сделать указатель на объект в динамической памяти
Ответ Создать тему
Опции темы

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