Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.03.2012, 07:35   #1
Динар Габбасов
Пользователь
 
Регистрация: 20.10.2011
Сообщений: 23
По умолчанию Создать класс "Жидкость" в С++, конструкторы, деструкторы

Создать класс "Жидкость" имеющий название (указатель на строку) плотность. определить конструкторы деструкторы и функцию печати,. создать публик производный класс - спиртные напитки, имеющий крепкость. Определить конструкторы по умолчанию и с разными числом параметров, деструкторы, функцию печати. определить функции переназначения плотности и крепости.
Буду очень признателен..
Динар Габбасов вне форума Ответить с цитированием
Старый 16.03.2012, 07:40   #2
Динар Габбасов
Пользователь
 
Регистрация: 20.10.2011
Сообщений: 23
По умолчанию

или хотя бы покажи те пример попробую
Динар Габбасов вне форума Ответить с цитированием
Старый 16.03.2012, 08:09   #3
Inv1s
Форумчанин
 
Аватар для Inv1s
 
Регистрация: 06.11.2011
Сообщений: 214
По умолчанию

Код:
class fluid
{
private:
     char *name;
     float density;
public:
     fluid() {name = " "; density = 0;}
     fluid(char *N_name, float n_d) {name = N_name; density = n_d;}
     ~fluid() { delete name;}
     char* GetName() {return name;}
}
Помог, нажми на весы
html, js, php, С++, С#, OpenGl, DirectX, XNA, HLSL
Inv1s вне форума Ответить с цитированием
Старый 16.03.2012, 08:11   #4
Inv1s
Форумчанин
 
Аватар для Inv1s
 
Регистрация: 06.11.2011
Сообщений: 214
По умолчанию

Код:
class alcohol : public fluid
{
private:
     int strength;
public:
      alcohol(char *N_name, float n_d, int str): name(N_name), density(n_d), strngth(str) {};
      ~alcohol(){};
}
Помог, нажми на весы
html, js, php, С++, С#, OpenGl, DirectX, XNA, HLSL
Inv1s вне форума Ответить с цитированием
Старый 16.03.2012, 08:17   #5
Динар Габбасов
Пользователь
 
Регистрация: 20.10.2011
Сообщений: 23
По умолчанию

Код:
#include "stdafx.h"
#include<iostream>
 setlocale (LC_ALL,"Rus");
class fluid
{
	struct liquid
	{
                char name[10];
                int density;
	};
public:
	char imya[10];
	int g;
	liquid *liq;  
	fluid ()
	{

	}
можно ли так через структуру сделать?
Динар Габбасов вне форума Ответить с цитированием
Старый 16.03.2012, 08:20   #6
Inv1s
Форумчанин
 
Аватар для Inv1s
 
Регистрация: 06.11.2011
Сообщений: 214
По умолчанию

Цитата:
можно ли так через структуру сделать?
Можно, но зачем?
Одна из основ ООП это инкапсуляция, т.е. сокрытие объектов.
Код:
public:     // здесь лучше private или protected
	char imya[10];
	int g;
	liquid *liq;
Помог, нажми на весы
html, js, php, С++, С#, OpenGl, DirectX, XNA, HLSL
Inv1s вне форума Ответить с цитированием
Старый 16.03.2012, 08:30   #7
Динар Габбасов
Пользователь
 
Регистрация: 20.10.2011
Сообщений: 23
По умолчанию

а есть подобие данной программы? чтоб сравнивая данные мог вникнуть в суть?
Динар Габбасов вне форума Ответить с цитированием
Старый 16.03.2012, 08:31   #8
Динар Габбасов
Пользователь
 
Регистрация: 20.10.2011
Сообщений: 23
По умолчанию

Код:
#include <iostream.h>
#include <string.h>
#include <stdio.h>
 
class basecl
{
        struct Liquid
        {
                char Name[10];
                int Density;
        };
 
   private:
   char f[10]; int g, n, *x;
   Liquid *Liq;              
   basecl()
   {
      n=1;
      x=new int[1];
      *x=5;
   };
   basecl(int e);
   basecl vvod();
   basecl vivod();
   ~basecl(){ delete[] f;};
};
 
basecl::basecl(int e)     //конструктор с одним параметром
{
   int i;
   n=e;
   x=new int[n];
   for (i=0; i<n; i++)
      x[i]=i+e;
};     
 
basecl basecl::vvod()
{
   int i; char b[10];
   cout << "Kol-vo naimenovaniy: ";
   cin >> n;
   Liq=new Liquid[n];
   for(i=0;i<n;i++)
        {
        cout << i << ". ";
        gets(b);
        strcpy(Liq[i].Name, b);
        cout <<" Plotnostb: ";
        cin >> Liq[i].Density;
         //cout << n << " " <<Liq[i].Name << " " << Liq[i].Density<< " "; 
        // тут делал проверку, записывает ли или нет... 
                }
      return 0;
};
 
basecl basecl::vivod()
{
   int i;
   for(i=0;i<n;i++)
   cout << (i+1) << ". " << Liq[i].Name << " " << "Plotnostb: " << Liq[i].Density << endl;
   return 0;
};
 
main()
{
   int i=1000;
   basecl a;
   a.vvod();
   cout << i;
   a.vivod();
   cin>>i;
}
выдает ошибку, каким образом его переделать чтоб он был без структуры?
Динар Габбасов вне форума Ответить с цитированием
Старый 16.03.2012, 14:41   #9
ACE Valery
Сама себе режиссер
Старожил
 
Аватар для ACE Valery
 
Регистрация: 27.04.2007
Сообщений: 3,365
По умолчанию

Лучше напишите, какую ошибку выдает
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
ACE Valery вне форума Ответить с цитированием
Старый 16.03.2012, 18:07   #10
Inv1s
Форумчанин
 
Аватар для Inv1s
 
Регистрация: 06.11.2011
Сообщений: 214
По умолчанию

Код:
delete[] f;
ты не можешь так удалять.
Код:
 n=1;
      x=new int[1];
      *x=5;
в чем смысл этого? что такое x? где он определен?
Код:
#include <string.h>
Раз ты подключил почему не используешь?

P.S. Почитай про указатели и работу с ними. и учись пользоваться отладчиком
P.S. На все твои вопросы ответит гугл очень развернуто.
Помог, нажми на весы
html, js, php, С++, С#, OpenGl, DirectX, XNA, HLSL
Inv1s вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создать класс "прямая", поля класса - координаты двух точек (x1,y1) и (x2,y2) // на C# parol Помощь студентам 0 13.12.2011 14:00
Создать конструкторы, деструкторы базового и производных классов (визуальное програмирование) zvir Помощь студентам 0 01.12.2011 22:09
создать класс "Ладья на шахматной доске" в C++ kickerb Помощь студентам 2 23.06.2011 21:52
Лабораторка C++: Создать класс "угол на полскости" и выполнить проверку работоспособности. Zidane_13 Помощь студентам 0 13.01.2011 22:18