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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Sk8erBoi
1 / 1 / 0
Регистрация: 15.12.2010
Сообщений: 39
#1

Работа с классами - C++

24.05.2012, 21:48. Просмотров 547. Ответов 6
Метки нет (Все метки)

Добрый день, помогите написать программу которая создаёт класс Bool – логические переменные. Определить операторы "+" – логическое ИЛИ, "*" – логическое И "^" – ИСКЛЮЧИТЕЛЬНОЕ ИЛИ, как методы класса, а операторы "==" и "!=" как дружественные функции. Операторы должны позволять осуществления операций, как с переменными данного класса, так и с переменными встроенного int. (Если целое число отлично от нуля, считается что переменная истинна, в противном случае ложна).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.05.2012, 21:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа с классами (C++):

Работа с классами - C++
Подскажите, создал класс class Person { private: ... public: static int count;

Работа с классами - C++
Класс соревнование. В каждом соревновании по три участника и произвольное число туров. После проведения туров объявляется победитель. ...

Работа с классами - C++
Добрый день, на днях наткнулся на одну статью про работу с классами и не совсем ее понял, может кто помочь внести ясность, в чем...

Работа с классами - C++
Помогите пожалуйста написать программу. Задан массив действительных чисел. Найти количество элементов, значение которых меньше...

Работа с классами - C++
Составить описание объектного типа TMatr, что обеспечивает размещение матрицы произвольного размера с возможностью изменения числа строк и...

Работа с классами - C++
Ввести прямоугольную матрицу. Элементами матрицы являются символы. Пользователь может переставлять два любых символа в матрице, задавая...

6
DoktorRaim
1 / 1 / 0
Регистрация: 24.05.2012
Сообщений: 15
24.05.2012, 21:52 #2
У меня есть готовый проект работы с классами) там, конечно не все, но может для себя что - то найдешь

Добавлено через 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
82
83
#include "class_complex.h"
#include <iostream>
#include <math.h>
#include <fstream>
 
using namespace std;
 
//ГіГ¬Г*îæåГ*ГЁГҐ êîìïëåêñГ*îãî Г*Г* êîìïëåêñГ*îå
CComplex CComplex::operator *(const CComplex &rhs)const
         {
         return CComplex((m_re*rhs.m_re-m_im*rhs.m_im),(m_re*rhs.m_im+m_im*rhs.m_re));
         }
//ГіГ¬Г*îæåГ*ГЁГҐ êîìïëåêñГ*îãî Г*Г* ГЄГ®Г*Г±ГІГ*Г*ГІГі
CComplex CComplex::operator *(const float_t rhs)const
         {
         return CComplex(rhs*m_re,rhs*m_im);
         }
//ГіГ¬Г*îæåГ*ГЁГҐ ГЄГ®Г*Г±ГІГ*Г*ГІГ» Г*Г* êîìïëåêñГ*îå
CComplex operator * (const float_t lhs,const CComplex &rhs)
         {
         float_t re=lhs*rhs.get_re();
         float_t im=lhs*rhs.get_im();         
         return CComplex(re,im);
         }
//äåëåГ*ГЁГҐ êîìïëåêñГ*îãî Г*Г* êîìïëåêñГ*îå
CComplex CComplex::operator / (const CComplex &rhs)const
         {
          CComplex c;
          float_t a=m_re,b=m_im,a1=rhs.m_re,b1=rhs.m_im;
          c.m_re=(a*a1+b*b1)/(a1*a1+b1*b1);
          c.m_im=(a1*b-b1*a)/(a1*a1+b1*b1);
          return c;
         }
//äåëåГ*ГЁГҐ êîìïëåêñГ*îãî Г*Г* ГЄГ®Г*Г±ГІГ*Г*ГІГі
CComplex CComplex::operator / (const float_t rhs)const
         {
          CComplex c;
          c.m_re=m_re/rhs;
          c.m_im=m_im/rhs;
          return c;
         }  
         
CComplex operator / (const float_t lhs, const CComplex &rhs)
         {
          float_t a=lhs,b=0.0,a1=rhs.get_re(),b1=rhs.get_im(),re,im;
          re=(a*a1+b*b1)/(a1*a1+b1*b1);
          im=(a1*b-b1*a)/(a1*a1+b1*b1);
          return CComplex(re,im);
         }
//void info_operation()
//{
//std::cout<<"Âñå îïåðГ*òîðû ïåðåãðóæåГ*Г». ÂîçìîæГ*Г® ГіГ¬Г*îæåГ*ГЁГҐ ГЄГ*ГЄ êîìïëåêñГ*îãî Г·ГЁГ±Г«Г* Г*Г* ГЄГ®Г*Г±ГІГ*Г*ГІГі, ГІГ*ГЄ ГЁ Г*Г*îáîðîò, âû÷èòГ*Г*ГЁГҐ êðîìå ГўГ±ГҐГЈГ® èìååò ГЁ ГіГ*Г*Г°Г*ûé ìèГ*ГіГ±!"<<endl;
//}
 
CComplex func (CComplex z,const float_t &EPS)
    {
        CComplex sum(1,-1), t(1,-1), zi=z*(CComplex(0,1));
        CComplex m=t;
        int k=0;//Г±Г·ГҐГІГ·ГЁГЄ
        while (m.abs()>EPS) //EPS=0.001 ГЇГ® óìîë÷Г*Г*ГЁГѕ
        {
              m=m*zi*t;
              m=m/(2*k+1);
              sum=sum+m;
              k+=1; 
        }
        return sum;
    }
    
//ГІГ*áëèöГ*
void print_table(const float_t &EPS)
{
     std::cout<<"Г’Г*áëèöГ* Г§Г*Г*Г·ГҐГ*ГЁГ© ГЇГ® ôîðìóëå ñóììû Г± EPS = "<<EPS<<endl;
     print(CComplex(0,0),EPS);
     print(CComplex(1,0),EPS);
     print(CComplex(-1,0),EPS);
     print(CComplex(0,-1),EPS);
     print(CComplex(-1,-1),EPS);
     print(CComplex(1,1),EPS);
     print(CComplex(1,-1),EPS);
     print(CComplex(-1,1),EPS);
     print(CComplex(0,1),EPS);
}
0
Sk8erBoi
1 / 1 / 0
Регистрация: 15.12.2010
Сообщений: 39
24.05.2012, 21:52  [ТС] #3
хорошо, скиньте пожалуйста.
0
DoktorRaim
1 / 1 / 0
Регистрация: 24.05.2012
Сообщений: 15
24.05.2012, 21:53 #4
правда тут работа с комплексными числами
0
Sk8erBoi
1 / 1 / 0
Регистрация: 15.12.2010
Сообщений: 39
24.05.2012, 21:55  [ТС] #5
сложновато xD
0
DoktorRaim
1 / 1 / 0
Регистрация: 24.05.2012
Сообщений: 15
24.05.2012, 22:01 #6
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
88
89
90
91
92
93
94
95
96
97
#ifndef CLSS_CMPLX_H
#define CLSS_CMPLX_H
#include <iostream>
#include <math.h>
 
typedef float float_t;
 
 
class CComplex
{
      private:
              float_t m_re,m_im;
      public:
             
             CComplex():m_re(0.0),m_im(0.0){}
             explicit CComplex(float_t re):m_re(re),m_im(0.0){}
             CComplex(float_t re, float_t im):m_re(re),m_im(im){}
             
             float_t get_re()const{return m_re;}
             
             void set_re(float_t re){m_re=re;}
             
             float_t get_im()const{return m_im;} 
             
             void set_im(float_t im){m_re=im;}
            
             //ГЄГ®Г*ГєГѕГ*êöèÿ
             void conj(){m_im=-m_im;}//ïîëó÷åГ*ГЁГҐ êîìïëåêñГ*Г®-ñîïðÿæåГ*Г*îãî Г·ГЁГ±Г«Г*
             //ГіГ*Г*Г°Г*ûé ìèГ*ГіГ±
             CComplex operator-()const{return CComplex(-m_re,-m_im);}
             //ìîäóëü
             float_t abs(){return sqrt(m_re*m_re+m_im*m_im);}
             //êîìïëåêñГ*Г®-ñîïðÿæåГ*Г*îå ÷èñëî
             CComplex operator!()const{return CComplex(m_re,-m_im);}
             
             bool operator ==(const CComplex &t)const
             {
              return ((m_re==t.m_re)&&(m_im==t.m_im));//Г±Г°Г*ГўГ*ГҐГ*ГЁГҐ
             }
             CComplex operator * (const CComplex &rhs)const;//ГіГ¬Г*îæåГ*ГЁГҐ êîìïëåêñГ*îãî Г*Г* êîìïëåêñГ*îå
             CComplex operator * (const float_t rhs)const;//ГіГ¬Г*îæåГ*ГЁГҐ êîìïëåêñГ*îãî Г*Г* ГЄГ®Г*Г±ГІГ*Г*ГІГі
           
             CComplex operator / (const CComplex &rhs)const;
             CComplex operator / (const float_t rhs)const;
             friend std::istream&operator>>(std::istream &in, CComplex &c)
             {
              in>>c.m_re>>c.m_im;
              return in;
             }//äåëåГ*ГЁГҐ
            
             friend std::ostream & operator<<(std::ostream&out,const CComplex &c)
             {
              return out<<'('<<c.m_re<<", "<<c.m_im<<')';
             }//ïåðåãðóçî÷êГ*
};
//êîìïëåêñГ*îå - êîìïëåêñГ*îå
inline CComplex operator-(const CComplex &lhs,const CComplex &rhs)
{
       return CComplex(lhs.get_re()-rhs.get_re(),lhs.get_im()-rhs.get_im());
}
//ГЄГ®Г*Г±ГІГ*Г*ГІГ* - êîìïëåêñГ*îå
inline CComplex operator-(const float_t a,const CComplex &rhs)
{
       return CComplex((a-rhs.get_re()),(-rhs.get_im())); 
}
//subtraction CComplex-const
inline CComplex operator-(const CComplex &lhs,float_t rhs)
{
       return CComplex(lhs.get_re()-rhs,lhs.get_im());
}
//êîìïëåêñГ*îå + êîìïëåêñГ*îå
inline CComplex operator + (const CComplex &lhs,const CComplex &rhs)
{
         return CComplex(lhs.get_re()+rhs.get_re(),lhs.get_im()+rhs.get_im());
}
//ГЄГ®Г*Г±ГІГ*Г*ГІГ* + êîìïëåêñГ*îå
inline CComplex operator + (const float_t lhs,const CComplex &rhs)
{
         return CComplex(lhs+rhs.get_re(),rhs.get_im());
}
//êîìïëåêñГ*îå + ГЄГ®Г*Г±ГІГ*Г*ГІГ*
inline CComplex operator + (const CComplex &lhs,const float_t rhs)
{
         return CComplex(lhs.get_re()+rhs,lhs.get_im()); 
}
 
CComplex operator * (const float_t rhs, const CComplex &rhs);
 
CComplex operator / (const float_t lhs, const CComplex &rhs);
void info_operations();
CComplex func (CComplex z,const float_t &EPS);
void print_table(const float_t &EPS);
inline void print(CComplex a,const float_t &EPS)
{
       std::cout<<a<<"   \n"<<func(a,EPS)<<'\n';
}
#endif
Добавлено через 3 минуты
Вам будет проще открыть книгу по ООП и прочитать про классы, а это пускай будет примером использования классов)
0
Sk8erBoi
1 / 1 / 0
Регистрация: 15.12.2010
Сообщений: 39
24.05.2012, 22:03  [ТС] #7
спасибо
0
24.05.2012, 22:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.05.2012, 22:03
Привет! Вот еще темы с ответами:

Работа с классами - C++
Помогите написать програмку задание следующее: Создать базовый класс «Грузоперевозчик» и производные классы «Самолет», «Поезд»,...

Работа с классами - C++
Не знаю как правильно задать вопрос, поэтому приведу пример. У меня есть класс матрица как лучше реализовать операцию сложения матриц? Я...

Работа с классами - C++
Привет всем!!!!! Пацаны помогите написать программу плиз, на завтро нужно!!!!! Тема: Классы Задание:Описати інтерфейс та реалізувати...

Работа с классами - C++
Здравствуйте. Есть код, компиляция происходит нормально, Dev-C++ не выдаёт никаких ошибок. Но когда запускаю программу и начиная там...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru