Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 15.09.2015
Сообщений: 4
1

Занесение обьекта класса в i-й элемент массива и возвращение обьекта из i-го элемента массива

21.09.2015, 07:40. Показов 571. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток!

Не судите строго, похожая тема (Программы на ОПП С++. 911) уже была, но она закрыта и не раскрыта, к сожалению. Там задания лабораторных работ, с одной разобрался, со второй буксую на месте в одном из заданий.

Необходимо написать 2 функции void PutPerson(int i, Person& man); и
Person& GetPerson(int i)
в файле Group.cpp, первая функция заносит объект man типа Karta в i-й элемент массива, вторая функция возвращает объект типа Karta из i-го элемента массива.


Вот мой код:

Файла проекта:

Файл Karta.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Person //
 
{ 
 
public: //
 
    Karta(char*, int, char*); // 
    Karta(); //
    void Print(void); //
    void Input(void); //
 
private: //
 
    //
    char type[30];
    int scale;
    char sphere[20];
    
};

Файл Karta.cpp
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
#include <stdlib.h>
#include <string.h>
#include <iostream.h>
#include "Karta.h"
#include "Group.h"
 
Karta::Karta() //
{}
 
 
 
Karta::Karta(char *type, int scale, char *sphere) //
 
{
 
strcpy(Karta::type, type); //
Karta::scale=scale; //
strcpy(Karta::sphere, sphere);
 
}
 
    
void Karta::Print(void)
 
{
    cout << type << " " << scale << " " << sphere << endl; //
}
 
 
void Karta::Input(void)
 
{
    cout << "Vvedite tip, masshtab i polusharie karti cherez probel i nazhmite  Enter" << endl;
    cin >> type >> scale >> sphere;
}

Файл Group.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Group
 
{
 
public:
 
    Group(int s_arr[10]);
    ~Group(void);
    void Print();
    int Size();
    void PutKarta(int i, Karta& map);
 
 
private:
 
    int s_arr[10];
    Karta* p_array;
 
};


Файл Group.cpp
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
#include <stdlib.h>
#include <string.h>
#include <iostream.h>
#include "Karta.h"
#include "Group.h"
 
 
Group::Group(int s_arr[])
 
{
 
Group::s_arr[10];
p_array = new Karta[10];
 
}
 
Group::~Group(void)
 
{
 
    delete [] p_array;
 
}
 
void Group::Print()
 
{
 
    for (int i = 0; i < 10; i++)
 
    {
        s_arr[i] = i;
        cout << s_arr[i] << endl;
 
    }
 
}
 
    
int Group::Size()
 
{
    return s_arr[10];
 
}
 
 
void Group::PutKarta(int i, Karta& map) \\[B]Функция занесения обьекта в массив[/B]
 
{
 
    if (i>= 0 && i < 10) s_arr[i] = map; \\ ошибка error C2679
 
}
Ошибка: error C2679: binary '=' : no operator defined which takes a right-hand operand of type 'class Karta' (or there is no acceptable conversion)

правильная ли первая функция и как написать вторую функцию (по извлечению обьекта из массива)?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.09.2015, 07:40
Ответы с готовыми решениями:

Возвращение обьекта из шаблона
Всем доброго дня ! Не могу понять в чем проблема ((( Есть класс шаблон А template &lt;class...

Исключительный доступ обьекта к полям другого обьекта avr/c++
исключительный доступ обьекта к полям другого обьекта avr/c++ добрый день есть два обьекта...

Возвращение объекта класса из i-го элемента массива
Доброго времени суток! Помогите, пожалуйста, с выполнением задания лаб. работы. Необходимо...

Инициализация обьекта класса списком C++
Здравствуйте, кому не сложно расскажите в кратце как мне сделать вот такую штуку: у меня есть...

0
21.09.2015, 07:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.09.2015, 07:40
Помогаю со студенческими работами здесь

Вернуть С-строку из обьекта класса
Есть класс, у него метод c_str. Какой лучший способ вернуть С-строку? 1)void c_str(char* str) {...

Ошибка при создании обьекта класса
Объясните пожалуйста почему нельзя создать обьект другого класса в private. В чем ошибка ? Код:...

Запись в файл данных из обьекта класса
подскажите пожалуйста,как записать данные из обьекта g4 в файл,что-то пытаюсь,но никак не могу...

Инициализация обьекта внутри другого класса
Всем привет. Вообщем проблема такая. Есть несколько классов class WeaponType { }; class...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru