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

Перегрузка операторов! - C++

Восстановить пароль Регистрация
 
Vlad266
0 / 0 / 0
Регистрация: 14.04.2013
Сообщений: 13
06.12.2013, 00:22     Перегрузка операторов! #1
Создать несколько объектов (например, a и b) разработанного класса. Класс – символьная строка. Реализовать для объектов данного класса перегрузку операции <= (b<=a). Содержимое объектов (a,b, их строк), до и после выполнения операции, вывести на экран.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2013, 00:22     Перегрузка операторов!
Посмотрите здесь:

[c++] Перегрузка операторов C++
C++ Перегрузка операторов
Перегрузка операторов C++
C++ перегрузка операторов >>,<<,[]
C++ Перегрузка операторов
Перегрузка операторов C++
C++ Перегрузка операторов + и =
Перегрузка операторов C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
06.12.2013, 14:37     Перегрузка операторов! #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
54
55
56
57
58
59
60
61
62
63
64
65
#include <iostream>
 
class String
{
  private:
          char * str;
  public:
         String(char * _str = NULL)
         {
           str = new char[strlen(_str)];
           strcpy(str,_str);
         }
         
         String(const String & string)
         {
           str = new char[strlen(string.getString())];
           strcpy(str, string.getString());
         }
         
         ~String()
         {
           delete [] str;
           str = NULL;
         }
         
          char * getString()const { return str; }
          void print()
          {
               std::cout << str;
          }
          
          int operator <=(const String & str1)
          {
               return strcmp(str, str1.getString()); 
          }
         
         
};
 
 int main()
 {
   
       String a("string 1");
       String b("string 2");
       
       a.print(); std::cout << std::endl;
       b.print(); std::cout << std::endl;
       
       
       /*
       ГЎГ®Г«ГјГёГҐ Г*óëÿ, åñëè ïåðâГ*Гї ñòðîêГ* áîëüøå âòîðîé;
 
       - 0 (Г*óëü), åñëè ñòðîêè Г°Г*ГўГ*Г»;
 
       - ìåГ*ГјГёГҐ Г*óëÿ, åñëè ïåðâГ*Гї ñòðîêГ* ìåГ*ГјГёГҐ âòðîé.       
       */
       if(a <= b)
          std::cout << "a <= b" << std::endl;
          
       a.print(); std::cout << std::endl;
       b.print(); std::cout << std::endl;
          
     system("PAUSE");
     return 0;
 }
Yandex
Объявления
06.12.2013, 14:37     Перегрузка операторов!
Ответ Создать тему
Опции темы

Текущее время: 02:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru