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

Класс как тип данных, ошибка - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Создать программу учета сотрудников. http://www.cyberforum.ru/cpp-beginners/thread1026909.html
Лабораторная работа по теме структуры Создать программу учета сотрудников. О сотруднике необходимо хранить следующие данные: - ФИО - должность - дата рождения. Данные о сотрудниках...
C++ Как считать из файла вторую строку? хочу узнать как можно считать первую строку или в вторую. То есть к примеру есть несколько строчек и мне нужно считать именно вторую! как это сделать??? http://www.cyberforum.ru/cpp-beginners/thread1026904.html
написать программу для топографов, чтоб считала площади по формуле C++
Ребята помогите! Нужно написать программу для топографов, чтоб считала площади по формуле. Принцип такой: 1. Нужно указать количество точек замкнутого полигона. 2. Для каждой формы нужно ввести...
Создать класс, определить конструктор C++
Вообще без понятия, что тут делать. Помогите мне, пожалуйста!!! Задание: Создать класс «машина», имеющая марку, число цилиндров, мощность и цену. Определить конструктор и функцию печати. Создать...
C++ задача о ранце http://www.cyberforum.ru/cpp-beginners/thread1026891.html
Добрый все вечер!помоги пожалуйста решить задачу о рюкзаке на С++ разными методами-ветвей и границ,жадный алгоритм,генетический,динамический...Кто что может,помогите:(((
C++ Как вывести данные структуры не ссылаясь на её поля к примеру вот структура struct test_struct { int a; wchar_t b; int c; float d; } Если можно с примером пожалуйста подробнее

Показать сообщение отдельно
OlegPL
5 / 5 / 0
Регистрация: 22.10.2013
Сообщений: 100
03.12.2013, 19:49  [ТС]
Добавил только конструктор копирования и проблема разрешилась, спасибо большое! А оператор присваивания описывать обязательно? Решил чуток усовершенствовать и хотелось бы узнать, как можно создать динамический массив группу которая может бесконечным образом принимать в себя студентов? Это нужно в самом классе CGroup создать указатель или указатель на указатель, или оставить в классе всё как есть и сделать динамический массив в самом main()?

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
96
97
98
99
100
101
102
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
 
using namespace std;
 
class CStudent
{
private:
    char *name;
    char *surname;
public:
 
    CStudent()
    {
        name = NULL;
        surname = NULL;
    }
 
    CStudent(char *name, char *surname)
    {
        set_name(name);
        set_surname(surname);
    }
 
    CStudent(const CStudent &tmp)
    {
        name = new char[strlen(tmp.name) + 1];
        strcpy(name, tmp.name);
        surname = new char[strlen(tmp.surname) + 1];
        strcpy(surname, tmp.surname);
    }
 
    void set_name(char *name)
    {
        if(this->name != NULL)
            delete [] name;
        this->name = new char[strlen(name) + 1];
        strcpy(this->name, name);
    }
 
    void set_surname(char *surname)
    {
        if(this->surname != NULL)
            delete [] surname;
        this->surname = new char[strlen(surname) + 1];
        strcpy(this->surname, surname);
    }
 
    void set_student(char *name, char *surname)
    {
        set_name(name);
        set_surname(surname);
    }
 
    void set_student(CStudent student)
    {
        if(name != NULL)
            delete [] name;
        if(surname != NULL)
            delete [] surname;
        name = new char[strlen(student.name) + 1];
        strcpy(name, student.name);
        surname = new char[strlen(student.surname) + 1];
        strcpy(surname, student.surname);
    }
 
    ~CStudent()
    {
        if(this->name != NULL)
            delete [] name;
        if(this->surname != NULL)
            delete [] surname;
    }
};
 
class CGroup
{
private:
    CStudent total_students;
public:
    CGroup()
    {}
 
    void set_to_group(CStudent student)
    {
        total_students.set_student(student);
    }
};
 
int main ()
{
    CStudent first, second;
    CGroup new_group[5];
 
    first.set_name("Vasya");
    first.set_surname("Pupkin");
    second.set_student("Vovochka", "Perepelkin");
 
    new_group[0].set_to_group(first);
    
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru