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

ООП что за ошибки? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Помогите решить несколько задач!!!Пожалуйста http://www.cyberforum.ru/cpp-beginners/thread378171.html
Помогите решить несколько задач!!!Пожалуйста!! срочно нужно!! через cin , cout №17 For13°. Дано целое число N (> 0). Найти значение выражения 1.1 – 1.2 + 1.3 – … (N слагаемых, знаки чередуются). Условный оператор не использовать. №2. While12°. Дано целое число N (> 1). Вывести наибольшее из целых чисел K, для которых сумма 1 + 2 + … + K будет меньше или равна N, и саму эту сумму. ...
C++ Дробное число Добрый день! Можно ли ввести такое деление чтоб число выводилось (хранилось) в дробном виде, перемножение в дробном виде и т.д. Думаю объяснил понятно. Пишу программу которая будет работать с матрицами, а числа с запятой там никуда не годятся. И встрял на делении чисел друг на друга. Заранее спасибо!) http://www.cyberforum.ru/cpp-beginners/thread378161.html
C++ проблема с массивом
#include <iostream> #include <stdlib.h> #include <time.h> using namespace std; int main(){ const int n = 3; const int m = 8; int a ; int total; srand(time(NULL));
C++ С++ глючит
Когда создаеш ехе. фаил он не работает черное окно на секунду выскочит и пропадает. и еще при открытии сохраненных проэктов выскакивает вот такое окно.
C++ 2 задачки на дин. пр-е http://www.cyberforum.ru/cpp-beginners/thread378151.html
помогите. кому не сложно написать код, буду очень благодарен! если у вас есть свободная минутка, заранее спасибо вам 1.Дано число n. Какое наименьшее количество слагаемых, каждое из которых суть kая степень натур-го числа, необходимо для его представления. Ввод В первой строке заданы n, n (1<=n =10^5; 1<=k<=10). Вывод Выведите искомую величину Пример
C++ Как программно создать процесс, который создаёт окно консоли? Имеется ввиду, конечно настоящее отдельное окно консоли. Вот создаваемый процесс: #include <stdio.h> int main (){ printf ("Hello, world!\n"); getchar (); return 0; } подробнее

Показать сообщение отдельно
ramarren14
2 / 2 / 0
Регистрация: 14.07.2011
Сообщений: 49
05.11.2011, 14:07     ООП что за ошибки?
Изучаю программирование, решаю задачу из учебника Дейтелов. Нужно написать класс, реализующий множество целых чисел. Множество представлено в виде массива, k принадлежит множеству, если a[k]=1, ну если 0, то не принадлежит соответственно. Ошибка в функциях UnionOfIntegerSet и UnionOfIntegerSet. Я новичок в программировании, буду рад если укажете на ошибку. Ну и заодно критику по коду(имхо он убог).
Собственно вот IntegerSet.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#ifndef class_IntegerSet
#define class_IntegerSet
 
class IntegerSet
{
public:
    IntegerSet();
    IntegerSet(int);
    ~IntegerSet();
    int GetSize()const;
bool ElementIntegerSet(int) const;
//IntegerSet& UnionOfIntegerSet(const IntegerSet &);
//IntegerSet& UnionOfIntegerSet(const IntegerSet &);
IntegerSet& InsertElement(int);
bool EqualSet(const IntegerSet &);
void SettPrint() const;
private:
    int size;
    int *Ptr;
    int num;
};
#endif
Вот IntegerSet.cpp
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
84
85
86
87
#include<iostream>
#include<time.h>
#include "IntegerSet.h"
 
IntegerSet::IntegerSet()
{
    size=50;
    Ptr=new int [size];
    for(int i=0;i<size;i++)
        Ptr[i]=0;
}
 
IntegerSet::IntegerSet(int x)
{
    size=x;
    Ptr=new int[size];
    srand(time(NULL));
    for(int i=0;i<size;i++)
        Ptr[i]=0+rand()%2;
}
 
IntegerSet::~IntegerSet()
{
    delete [] Ptr;
}
 
int IntegerSet::GetSize() const
{
    return size;
}
 
bool IntegerSet::ElementIntegerSet(int k) const
{
    if (Ptr[k]==1) return true;
    else return false;
}
 
/*IntegerSet& IntegerSet::UnionOfIntegerSet(const IntegerSet & rhs)
{
    int size_set;
    if (rhs.GetSize()<size) size_set=rhs.GetSize();
    else size_set=size;
    for(int i=0;i<size_set;i++)
    {
        if(Ptr[i]==1 || rhs.Ptr[i]==1) Ptr[i]=1;
        else Ptr[i]=0;
    }
  return *this;
}
 
IntegerSet& IntegerSet::UnionOfIntegerSet(const IntegerSet & rhs)
{
    int size_set;
    if (rhs.GetSize()<size) size_set=rhs.GetSize();
    else size_set=size;
    for(int i=0;i<size_set;i++)
    {
        if(Ptr[i]==1 && rhs.Ptr[i]==1) Ptr[i]=1;
        else Ptr[i]=0;
    }
  return *this;
} */
 
 
IntegerSet& IntegerSet::InsertElement(int k)
{
    Ptr[k]=1;
    return *this;
}
 
void IntegerSet::SettPrint() const
{
    for(int i=0;i<size;i++)
        std::cout<<" "<<Ptr[i];
}
 
bool IntegerSet::EqualSet(const IntegerSet & rhs)
{
    bool flag;
    if (rhs.GetSize()!=size) flag=false;
    else for(int i=0;i<size;i++)
    {
        if (Ptr[i]!=rhs.Ptr[i]) flag=false;
        else flag=true;
    }
  return flag;
}
Вот main, где я тестирую:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "IntegerSet.h"
#include<iostream>
 
int main()
{
    bool flag;
    IntegerSet Set_One;
    IntegerSet Set_Two(50);
    IntegerSet Set_Three;
    //Set_Three=Set_One.UnionOfIntegerSet(Set_Two);
    Set_Three.SettPrint();
    flag=Set_One.EqualSet(Set_Three);
    if (flag) std::cout<<"yes ";
    else std::cout<<" no ";
}
Если убрать комментарии компилятор Microsoft Visual C++ выдает
1>------ Build started: Project: IntegerSet, Configuration: Debug Win32 ------
1> main.cpp
1>c:\users\selver\documents\visual studio 2010\projects\integerset\integerset\integerset.h(13): error C2535: 'IntegerSet &IntegerSet::UnionOfIntegerSet(const IntegerSet &)' : member function already defined or declared
1> c:\users\selver\documents\visual studio 2010\projects\integerset\integerset\integerset.h(12) : see declaration of 'IntegerSet::UnionOfIntegerSet'
1> IntergerSet.cpp
1>c:\users\selver\documents\visual studio 2010\projects\integerset\integerset\integerset.h(13): error C2535: 'IntegerSet &IntegerSet::UnionOfIntegerSet(const IntegerSet &)' : member function already defined or declared
1> c:\users\selver\documents\visual studio 2010\projects\integerset\integerset\integerset.h(12) : see declaration of 'IntegerSet::UnionOfIntegerSet'
1>c:\users\selver\documents\visual studio 2010\projects\integerset\integerset\intergerset.cpp(17): warning C4244: 'argument' : conversion from 'time_t' to 'unsigned int', possible loss of data
1>c:\users\selver\documents\visual studio 2010\projects\integerset\integerset\intergerset.cpp(52): error C2084: function 'IntegerSet &IntegerSet::UnionOfIntegerSet(const IntegerSet &)' already has a body
1> c:\users\selver\documents\visual studio 2010\projects\integerset\integerset\integerset.h(12) : see previous definition of 'UnionOfIntegerSet'
1> Generating Code...
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Я не понимаю почему пишет, что функция уже определена или то, что функция уже имеет описание?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru