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

Создать класс жидкость, имеющий название (указатель на строку), плотность - C++

Восстановить пароль Регистрация
 
Spray1
0 / 0 / 0
Регистрация: 07.12.2011
Сообщений: 34
28.04.2013, 17:33     Создать класс жидкость, имеющий название (указатель на строку), плотность #1
Создать класс жидкость, имеющий название (указатель на строку), плотность. Определить конструкторы, деструктор и операторы вывода в поток. Создать производный класс - спиртные напитки, имеющий крепость. Определить функции переназначения плотности и крепости. Продемонстрировать работу классов
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.04.2013, 17:33     Создать класс жидкость, имеющий название (указатель на строку), плотность
Посмотрите здесь:

Создать класс жидкость (доделать программу) C++
Создать класс Жидкость C++
C++ Создать класс жидкость
Наследование: Создать класс человек, имеющий имя, возраст, вес C++
C++ Деструктор для класс, имеющий указатель на самого себя
Создать класс Человек, имеющий имя, возраст C++
Создать класс колесо, имеющий радиус C++
C++ Создать класс "Студент", имеющий имя (указатель на строку), курс и идентификационный номер

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
 Аватар для lemegeton
2910 / 1339 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
28.04.2013, 20:14     Создать класс жидкость, имеющий название (указатель на строку), плотность #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
#include <cstring>
#include <iostream>
#include <iomanip>
 
class Fluid {
 public:
  Fluid() : name(new char[1]()), density(0) {}
  Fluid(const char *name, double density) : name(0), density(density) {
    setName(name);
  }
  Fluid(const Fluid &other) : name(0), density(other.getDensity()) {
    setName(other.getName());
  }
  Fluid &operator=(const Fluid &other) {
    if (this != &other) {
      setName(other.getName());
      setDensity(other.getDensity());
    }
    return *this;
  }
  virtual ~Fluid() {
    delete [] name;
  }
  const char *getName() const {
    return name;
  }
  void setName(const char *name) {
    delete [] this->name;
    this->name = strcpy(new char[strlen(name) + 1], name);
  }
  double getDensity() const {
    return density;
  }
  void setDensity(double density) {
    this->density = density;
  }
 private:
  char *name;
  double density;
};
 
std::ostream &operator<<(std::ostream &stream, const Fluid &fluid) {
  return stream << "Fluid{" <<
    "name='" << fluid.getName() << "'," <<
    "density=" << std::fixed << std::setprecision(3) <<
      fluid.getDensity() << "}";
}
 
class Alcohol : public Fluid {
 public:
  Alcohol() : Fluid(), strength(0) {}
  Alcohol(const char *name, double density, double strength)
    : Fluid(name, density), strength(strength) {}
  void setStrength(double strength) {
    this->strength = strength;
  }
  double getStrength() const {
    return strength;
  }
 private:
  double strength;
};
 
std::ostream &operator<<(std::ostream &stream, const Alcohol &fluid) {
  return stream << "Alcohol{" <<
    "name='" << fluid.getName() << "'," <<
    "density=" << std::fixed << std::setprecision(3) <<
      fluid.getDensity() << "," <<
    "strength=" << fluid.getStrength() << "}";
}
 
int main(int argc, char *argv[]) {
  Fluid water("Water", 1.01726);
  Alcohol vodka("Vodka", 1.02128, 34.765);
  
  std::cout << water << std::endl << vodka << std::endl;
  
  return 0;
}
Yandex
Объявления
28.04.2013, 20:14     Создать класс жидкость, имеющий название (указатель на строку), плотность
Ответ Создать тему
Опции темы

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