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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
diga
6 / 6 / 1
Регистрация: 30.03.2012
Сообщений: 111
#1

Создать класс Жидкость - C++

03.05.2012, 15:25. Просмотров 698. Ответов 6
Метки нет (Все метки)

Создать класс "Жидкость" имеющий название (указатель на строку) плотность. определить конструкторы деструкторы и функцию печати,. создать публик производный класс - спиртные напитки, имеющий крепкость. Определить конструкторы по умолчанию и с разными числом параметров, деструкторы, функцию печати. определить функции переназначения плотности и крепости.
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
#include <iostream>
using namespace std
 
class liquid
{
public:
    liquid();
    ~liquid();
    void setValue(char*nazvanie, float plot)
    void printValue();
private:
    char*nazvanie;
    float plot;
};
liquid::liquid()
{
    setValue(0);
    cout<<"==========Constructor liquid==========\n";
}
 
liquid::~liquid()
{
    cout<<"==========Destructor liquid==========\n";
}
 
void liquid::liquid(char*nazvanie1, float plot1)
{
    nazvanie=nazvanie1;
    plot=plot1;
}
 
void liquid::printValue()
{
    cout<<"nazvanie = "<< nazvanie << "\n";
    cout<<"plotnost = "<< plotnost << "\n";
}
//////////////////////////////////////////////////////
class SpNapitki: public liquid
{
public:
    SpNapitki();
    ~SpNapitki();
    void setSpNapitki(char*);
    void printVlue();
private:
    char *c;
};
/////////////////////////////////////////////////////
SpNapitki::SpNapitki()
{
    liquid();
    cout << "==========Constuctor krepost==========\n";
    setSpNapitki("pivo");
}
SpNapitki::~SpNapitki()
{
    cout << "=========Destructor krepost==========\n";
}
 
void SpNapitki::SpNapitki(char*c1)
{
    c=c1;
}
 
void SpNapitki::printVlue()
{
    cout << "krepost = " << c << "\n";
}
 
int main()
{
    liquid MYliquid;
    MYliquid.printValue();
    MYliquid.setValue("Voda",1000);
    Myliquid.printValue();
    //////////////////////////
    SpNapitki MySpNapitki;
    MySpNapitki.printValue();
    MySpNapitki.setSpNapitki("vodka");
    MySpNapitki.printValue();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
amfisat
67 / 67 / 1
Регистрация: 16.06.2009
Сообщений: 235
03.05.2012, 15:49     Создать класс Жидкость #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
#include <iostream>
using namespace std;
 
class liquid
{
public:
    liquid();
    ~liquid();
    void setValue(char*nazvanie, float plot);
    void printValue();
private:
    char*nazvanie;
    float plot;
};
 
liquid::liquid()
{
    setValue("NA", 0);
    cout<<"==========Constructor liquid==========\n";
}
 
liquid::~liquid()
{
    cout<<"==========Destructor liquid==========\n";
}
 
void liquid::setValue(char*nazvanie1, float plot1)
{
    nazvanie=nazvanie1;
    plot=plot1;
}
 
void liquid::printValue()
{
    cout<<"nazvanie = "<< nazvanie << "\n";
    cout<<"plotnost = "<< plot << "\n";
}
//////////////////////////////////////////////////////
class SpNapitki: public liquid
{
public:
    SpNapitki();
    ~SpNapitki();
    void setSpNapitki(char*);
    void printVlue();
private:
    char *c;
};
/////////////////////////////////////////////////////
SpNapitki::SpNapitki()
{
    liquid();
    cout << "==========Constuctor krepost==========\n";
    setSpNapitki("pivo");
}
 
SpNapitki::~SpNapitki()
{
    cout << "=========Destructor krepost==========\n";
}
 
void SpNapitki::setSpNapitki(char* c1)
{
    c1=c;
}
 
void SpNapitki::printVlue()
{
    cout << "krepost = " << c << "\n";
}
 
int main()
{
    liquid MYliquid;
    MYliquid.printValue();
    MYliquid.setValue("Voda",1000);
    MYliquid.printValue();
    //////////////////////////
    SpNapitki MySpNapitki;
    MySpNapitki.printValue();
    MySpNapitki.setSpNapitki("vodka");
    MySpNapitki.printValue();
}
castaway
Эксперт С++
4872 / 3011 / 370
Регистрация: 10.11.2010
Сообщений: 11,061
Записей в блоге: 10
Завершенные тесты: 1
03.05.2012, 15:50     Создать класс Жидкость #3
Цитата Сообщение от diga Посмотреть сообщение
Где ошибка почему не работает?
Не работает что?
diga
6 / 6 / 1
Регистрация: 30.03.2012
Сообщений: 111
03.05.2012, 19:19  [ТС]     Создать класс Жидкость #4
разве все не по одному разу должно срабатывать??? почему конструктор когда срабатывает 1 раз не срабатывает деструктор?
Миниатюры
Создать класс Жидкость  
diga
6 / 6 / 1
Регистрация: 30.03.2012
Сообщений: 111
03.05.2012, 19:45  [ТС]     Создать класс Жидкость #5
C++
1
2
3
4
void SpNapitki::printVlue()
{
    cout << "krepost = " << c << "\n";
}
не срабатывает..
amfisat
67 / 67 / 1
Регистрация: 16.06.2009
Сообщений: 235
03.05.2012, 20:43     Создать класс Жидкость #6
Цитата Сообщение от diga Посмотреть сообщение
C++
1
2
3
4
void SpNapitki::printVlue()
{
* * cout << "krepost = " << c << "\n";
}
Не срабатывает, потому как его не вызывают.
Вызывают:
C++
1
MySpNapitki.printValue();
Надо заменить функцию:
C++
1
2
3
4
void SpNapitki::setSpNapitki(char* c1)
{
    c1=c;
}
на:
C++
1
2
3
4
void SpNapitki::setSpNapitki(char* c1)
{
    c=c1;
}
Понятно почему.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.05.2012, 22:15     Создать класс Жидкость
Еще ссылки по теме:

C++ Создать класс жидкость, имеющий название (указатель на строку), плотность
C++ Создать класс данных Person и класс отображения данных
C++ Создать класс и класс-потомок с полями
Класс: Создать класс с именем MARSH C++
C++ Создать базовый класс «Список» и класс-потомок «Упорядоченный список»

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

Или воспользуйтесь поиском по форуму:
diga
6 / 6 / 1
Регистрация: 30.03.2012
Сообщений: 111
03.05.2012, 22:15  [ТС]     Создать класс Жидкость #7
amfisat, спасибо понял)

Добавлено через 2 минуты
Цитата Сообщение от amfisat Посмотреть сообщение
MySpNapitki.printValue();
скорее вызов надо писать
C++
1
MySpNapitki.printVlue();
Yandex
Объявления
03.05.2012, 22:15     Создать класс Жидкость
Ответ Создать тему
Опции темы

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