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

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

Восстановить пароль Регистрация
 
diga
6 / 6 / 1
Регистрация: 30.03.2012
Сообщений: 111
03.05.2012, 15:25     Создать класс Жидкость #1
Создать класс "Жидкость" имеющий название (указатель на строку) плотность. определить конструкторы деструкторы и функцию печати,. создать публик производный класс - спиртные напитки, имеющий крепкость. Определить конструкторы по умолчанию и с разными числом параметров, деструкторы, функцию печати. определить функции переназначения плотности и крепости.
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
 Аватар для 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
Эксперт С++
4842 / 2981 / 367
Регистрация: 10.11.2010
Сообщений: 11,014
Записей в блоге: 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
 Аватар для 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++
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     Создать класс Жидкость
Ответ Создать тему
Опции темы

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