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

Описать класс используя 3 вида конструкторов - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
STyDeNTuK
30 / 12 / 3
Регистрация: 22.09.2009
Сообщений: 157
01.12.2011, 02:30     Описать класс используя 3 вида конструкторов #1
Компилятор у меня по идее кривой, ошибку не пишет а просто выдаёт прекращена работа программы Project1.exe
Помогите понять в чём проблема.

Просто описывается класс Цветы с использованием конструктора без параметров, с параметрами и конструктора с копированием
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 <string.h>
#include <tchar.h>
#include <iostream.h>
class Flowers
{private:
    char * vid;
    int number;
    public:
     Flowers();
     Flowers(char *, int);
     Flowers(Flowers &);
     void set_vid(char*);
     char * get_vid();
     void set_number(int);
     int get_number();
     void show();};
 
    Flowers::Flowers()
    {strcpy(vid," ");
     number=0;
    }             ;
 
    Flowers::Flowers(char * S,int n)
     {strcpy(vid,S);
      number = n;}   ;
 
    Flowers::Flowers(Flowers &c)
     {number=c.number;
      strcpy(vid,c.vid);
     }             ;
    void Flowers::set_vid(char*S)
        {strcpy(vid,S);};
    char*Flowers::get_vid()
          {return vid;};
 
    void Flowers::set_number(int n)
    {number=n;};
    int Flowers::get_number()
    {return number;};
 
    void Flowers::show()
     {cout<<vid;
      cout<<number;};
 
int _tmain(int argc, _TCHAR* argv[])
{      int a;
  Flowers f1;
  f1.show();
  Flowers f2("ромашка",1);
  f2.show();
  Flowers f3(f2);
  f3.show();
  cin>>a;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.12.2011, 02:30     Описать класс используя 3 вида конструкторов
Посмотрите здесь:

C++ реализовать класс Money используя класс Fraction.
C++ описать структуру, создать класс, в котором описать 3 поля: два простых типа и массив структур. Создать в классе 4 функции работы с массивом структур
Разработать класс Man (человек) и производный класс Student (студент). Описать атрибуты. C++
C++ Разработать класс Tableware (посуда) и производный класс Dish (тарелка). Описать атрибуты
Описать класс, представляющий квадратное уравнение вида C++
C++ Структура/класс "Студент". Применение конструкторов
Реализовать класс Goods используя для представления цены класс Money C++
C++ Протабулировать функцию, используя три вида циклов

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Сыроежка
Заблокирован
01.12.2011, 02:41     Описать класс используя 3 вида конструкторов #2
STyDeNTuK, Уточните, что значит "выдает прекращение программы"?!
Bers
Заблокирован
01.12.2011, 06:41     Описать класс используя 3 вида конструкторов #3
Цитата Сообщение от STyDeNTuK Посмотреть сообщение
Компилятор у меня по идее кривой, ошибку не пишет а просто выдаёт прекращена работа программы Project1.exe
Помогите понять в чём проблема.
Не кивай на зеркало, коли рожой не вышел.
Далеко не все типы ошибок компилятор способен выявить на этапе компиляции.
Есть ещё ошибки в ран-тайме.
То есть, это ошибки программиста, которые приводят к крушению программы, когда она уже запущена на выполнение.


Тыкаемся в первый попавшийся конструктор:

C++
1
2
3
4
Flowers::Flowers()
 {strcpy(vid," ");
number=0;
 }  ;

Попытка записи данных по адресу, который содержит инициализированный мусором указатель.
Ты считаешь, это так и должно быть?
Yandex
Объявления
01.12.2011, 06:41     Описать класс используя 3 вида конструкторов
Ответ Создать тему
Опции темы

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