Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
 Аватар для Mr. Pyatachok
8 / 9 / 1
Регистрация: 30.06.2011
Сообщений: 250

опрератор bool

29.07.2011, 13:37. Показов 2544. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!!!
Есть код:
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
#include<iostream.h>
#include<conio.h>
#include<string.h>
 
enum Shape{prizm,parallelepiped,cube,pyramid,cone,cylinder};
 
class Body
{
    protected:
  char* Name;
  Shape shape_s;
    public:
  Body(char* name,Shape s)
  {Name=new char[strlen(name)+1];
  strcpy(Name,name);
  shape_s=s;}
  ~Body()
  {delete[]Name;}
};
 
class Prizm: public Body
{
    private:
  float H;
    public:
  Prizm(char *name,Shape s,float h):Body(name,s)
  {H=h;}
  friend class Cube;
};
 
class Cube: public Body
{
    private:
  float H;
    public:
  Cube(char *name,Shape s,float h):Body(name,s)
  {H=h;}
 
  bool operator<(const Prizm& var) const
  {return H<var.H;}
  const char* your_name(const Prizm& var) const
  {return var.Name;}
};
 
int main()
{
  Prizm p("Prizma Petya",prizm,13);
  Cube c("Cube Victor",cube,12);
  if(c<p)
  {cout<<c.your_name(p)<<" great."<<endl;}
  else{cout<<c.your_name(p)<<" less or equal."<<endl;}
 
  getch();
  return 0;
}
А как его переделать без bool? И еще объясните пожалуйста для чего етот bool и что он делает и для чего он в принципе? Всем заранее спасибо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.07.2011, 13:37
Ответы с готовыми решениями:

не работает bool xor(bool a, bool b)
Учусь по &quot;Базовому курсу&quot; Герберта Шилда #include &lt;iostream&gt; bool xor(bool a, bool d); int main() { bool p, q; cout...

опрератор if-else
Здраствуйте, граждане ;)! Есть часть кода (весь код по БД нет смысла выводить): case 4: clrscr(); cout&lt;&lt;&quot;You want...

Изменить значение bool a = true в bool a = false
// Логическое выражения - варианты #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int main() { ...

29
 Аватар для zuq
95 / 95 / 5
Регистрация: 10.04.2011
Сообщений: 256
29.07.2011, 14:55
Студворк — интернет-сервис помощи студентам
Реализована подругому - но вроде работает
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
#include<iostream.h>
#include<conio.h>
#include<string.h>
 
 
enum Shape{prizm,parallelepiped,cube,pyramid,cone,cylinder};
 
class Body
{
    public:
  char* Name;
  Shape shape_s;
        public:
  Body(char* name,Shape s)
  {Name=new char[strlen(name)+1];
  strcpy(Name,name);
  shape_s=s;}
  ~Body()
  {delete[]Name;}
};
 
class Prizm: public Body
{
        private:
  float H;
        public:
  Prizm(char *name,Shape s,float h):Body(name,s)
  {H=h;}
 float GetH() {return H; }
};
 
class Cube: public Body
{
        private:
  float H;
        public:
  Cube(char *name,Shape s,float h):Body(name,s)
  {H=h;}
 
 float GetH() { return H; }
 
 const char* your_name(const Prizm& var) const
  {return var.Name;}
};
 
bool Less(Cube one, Prizm two) {
    return one.GetH() < two.GetH();
}
 
 
int main()
{
  Prizm p("Prizma Petya",prizm,13);
  Cube c("Cube Victor",cube,12);
  if(Less(c, p))
  {cout<<c.your_name(p)<<" great."<<endl;}
  else{cout<<c.your_name(p)<<" less or equal."<<endl;}
 
  getch();
  return 0;
}
1
 Аватар для Mr. Pyatachok
8 / 9 / 1
Регистрация: 30.06.2011
Сообщений: 250
29.07.2011, 15:01  [ТС]
Спасибо, но не то что нужно, необходимо ввести 2 функции и объявить их дружественнми во втором классе
0
 Аватар для zuq
95 / 95 / 5
Регистрация: 10.04.2011
Сообщений: 256
29.07.2011, 15:08
Где нужно вводить эти две функции?
1
 Аватар для Mr. Pyatachok
8 / 9 / 1
Регистрация: 30.06.2011
Сообщений: 250
29.07.2011, 15:12  [ТС]
В классе Cube

Добавлено через 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
#include<iostream.h>
#include<conio.h>
#include<string.h>
enum Shape{prizm,parallelepiped,cube,pyramid,cone,cylinder};
 
class Body
{
    public:
  char* Name;
  Shape shape_s;
  Body(char* name,Shape s)
  {Name=new char[strlen(name)+1];
  strcpy(Name,name);
  shape_s=s;}
  ~Body()
  {delete[]Name;}
};
 
class Prizm: public Body
{
    private:
  float H;
    public:
  Prizm(char *name,Shape s,float h):Body(name,s)
  {H=h;}
};
 
class Cube: public Body
{
    private:
  float H;
    public:
  Cube(char *name,Shape s,float h):Body(name,s)
  {H=h;}
 
 friend const char* your_name(const Prizm& var) const
  {return var.Name;}
 friend bool Less(Cube one, Prizm two) {
    return one.H<two.H;
}
};
 
int main()
{
  Prizm p("Prizma Petya",prizm,13);
  Cube c("Cube Victor",cube,12);
  if(Less(c, p))
  {cout<<c.your_name(p)<<" great."<<endl;}
  else{cout<<c.your_name(p)<<" less or equal."<<endl;}
 
  getch();
  return 0;
}
Ошибки:
[C++ Error] Unit1.cpp(37): E2310 Only member functions may be 'const' or 'volatile'
[C++ Error] Unit1.cpp(39): E2247 'Prizm::H' is not accessible
[C++ Error] Unit1.cpp(51): E2316 'your_name' is not a member of 'Cube'
[C++ Error] Unit1.cpp(52): E2316 'your_name' is not a member of 'Cube'
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
29.07.2011, 15:15
Mr. Pyatachok, friend функция не может обладать cv квалификаторами.
H у Prizm в привате. Напишите функцию аксессор.
your_name - friend функция. Ее нет в классе Cube. Она отдельно.
1
 Аватар для zuq
95 / 95 / 5
Регистрация: 10.04.2011
Сообщений: 256
29.07.2011, 15:15
На сколько я знаю(могу ошибаться) - нельзя взять отдельные функции из одного класса и подружить их с другим
1
 Аватар для zuq
95 / 95 / 5
Регистрация: 10.04.2011
Сообщений: 256
29.07.2011, 15:20
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
#include<iostream.h>
#include<conio.h>
#include<string.h>
 
enum Shape{prizm,parallelepiped,cube,pyramid,cone,cylinder};
 
class Body
{
        public:
  char* Name;
  Shape shape_s;
  Body(char* name,Shape s)
  {Name=new char[strlen(name)+1];
  strcpy(Name,name);
  shape_s=s;}
  ~Body()
  {delete[]Name;}
};
 
class Prizm: public Body
{
        public:
  float H;
        public:
  Prizm(char *name,Shape s,float h):Body(name,s)
  {H=h;}
};
 
class Cube: public Body
{
        private:
  float H;
        public:
  Cube(char *name,Shape s,float h):Body(name,s)
  {H=h;}
 
 const char* your_name(const Prizm& var) const
  {return var.Name;}
 friend bool Less(Cube one, Prizm two) {
        return one.H<two.H;
}
};
 
int main()
{
  Prizm p("Prizma Petya",prizm,13);
  Cube c("Cube Victor",cube,12);
  if(Less(c, p))
  {cout<<c.your_name(p)<<" great."<<endl;}
  else{cout<<c.your_name(p)<<" less or equal."<<endl;}
 
  getch();
  return 0;
}
0
 Аватар для Mr. Pyatachok
8 / 9 / 1
Регистрация: 30.06.2011
Сообщений: 250
29.07.2011, 15:25  [ТС]
а как со второй функцией быть?
0
 Аватар для zuq
95 / 95 / 5
Регистрация: 10.04.2011
Сообщений: 256
29.07.2011, 15:26
С какой?
1
 Аватар для Mr. Pyatachok
8 / 9 / 1
Регистрация: 30.06.2011
Сообщений: 250
29.07.2011, 15:27  [ТС]
const char* your_name(const Prizm& var) const
{return var.Name;}

Да и выодит странно:
-w-w2etya great.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.07.2011, 15:27

как правильно понять тип bool ? bool true(const string &str) и что дает это значение ?
задам может глупый вопрос, но прошу ответить. как правильно понять тип bool ? bool true(const string &amp;str) и что дает это...

bool+bool=string
Здравствуйте! Прошу помощи в задаче, существует 4 функции, возвращающие 1/0, нужно эти bool последовательно соединить в string. Т.е....

Bool
Обьясните мне, как они pаботают и где их пpименять =( Вот с помощью учебника написал пpогу #include &quot;stdafx.h&quot; #include...

Bool
#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; class multi { private: int min = 4;

bool
Помогите с функцией, ее нужно реализовать с помощью типом данных bool Напишите функцию, которая принимает число и возвращает истину,...


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

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Новые блоги и статьи
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru