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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.03.2015, 17:48   #1
gryzb1
Новичок
Джуниор
 
Регистрация: 14.03.2015
Сообщений: 2
Радость Помогите добавить main и деструктор

Код:
#include <iostream>
//# include <conio.h>
//# include <string>
//# include <stdio.h>
//#include <cstdlib>
 
const int CHUNK_SIZE=10;
class set
{
  private:
    int *data;
    int size;
    int bufsize;
  public:
    const int getsize(){return size;}
    const int buffersize(){return bufsize;}
    set():size(0), bufsize(CHUNK_SIZE), data(new int[CHUNK_SIZE]){}
    set(set& copy): size(copy.size), bufsize(copy.bufsize)
    {
      //delete[] data; у конструктора данные еще не выделены
      data=new int[bufsize];
      for(int i=0; i<size; i++) // i не был объявлен
        data[i]=copy.data[i];
    }
    set& operator = (const set& copy) // ; <- что она тут делает
    {
      if (this!=&copy)
      {
        delete[] data;
        size=copy.size;
        bufsize=copy.bufsize;
        data=new int[bufsize];
     
        for(int i=0; i<size; i++) // i не был объявлен
          data[i]=copy.data[i];
      }
    }
    void add(int value)
    {
      int i;
      int* d;
      for(i=0; i<size; i++)
        if (data[i]==value) i=size+1;
      if (i!=size+1){
        data[size]=value;
        size++;
        if(size==bufsize){
          bufsize+=CHUNK_SIZE;
          d=new int[bufsize];
          for(i=0; i<size; i++)
            d[i]=data[i];
          delete[] data;
          data=d;
        }     
      }
    }
    bool remove(int value)
    {
      int i;
      bool searching=true;
      for (i=0; (i<size)&&(searching); i++)   
        if (data[i]==value) searching=false;
      if (!searching){
        for (i=i-1; i<size-1; i++)
          data[i]=data[i+1];
        return true;
      }
      return false;
    }
    int operator[] (int id){if ((id<size)&&(id>=0)) return data[id]; else {std::cerr<<"Error index "; return 0;}}
    
    friend set operator + (set, set);
    friend set operator - (set, set);
    ~set(){delete[] data;}
};
set operator-(set a, set b) // опять ;
{
  set temp=a;
  int i;
  for (i=0; i<b.size; i++)
    temp.add(b.data[i]);
  return temp;
}
set operator+(set a, set b)  //  опять ;
{
  set temp=a;
  int i;
  for (i=0; i<b.size; i++)
    temp.remove(b.data[i]);
  return temp;
}
int main()
{

}
gryzb1 вне форума Ответить с цитированием
Старый 14.03.2015, 18:00   #2
Praud
Форумчанин
 
Аватар для Praud
 
Регистрация: 11.10.2012
Сообщений: 409
По умолчанию

Какой ногой писался этот код? Не смог дочитать.

Что тебе нужно в мейне? Деструктор вызывается автоматически
Praud вне форума Ответить с цитированием
Старый 15.03.2015, 14:15   #3
gryzb1
Новичок
Джуниор
 
Регистрация: 14.03.2015
Сообщений: 2
По умолчанию

Цитата:
Сообщение от Praud Посмотреть сообщение
Какой ногой писался этот код? Не смог дочитать.

Что тебе нужно в мейне? Деструктор вызывается автоматически
Описать класс "множество" вещественных чисел, позволяющий выполнять основные операции - добавление и удаление элемента, пересечение, объединение и разность множеств. Все операции реализовать в виде перегрузки операторов. Программа должна содержать меню, позволяющее осуществлять проверку всех методов.
gryzb1 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Конструктор Деструктор sir.andrey Помощь студентам 7 02.07.2011 10:56
Деструктор Niksan Общие вопросы C/C++ 8 08.04.2011 12:28
Exception in thread "main" java.lang.NullPointerException at Main.main(Main.java:9) elpilasgsm Помощь студентам 4 18.01.2011 08:23
С++ Конструктор и Деструктор помогите Maxim_Burea Помощь студентам 15 19.09.2009 19:45
Функция main и main(void) Pord Помощь студентам 1 11.12.2008 15:57