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

Использование базовых и производных классов - C++

Восстановить пароль Регистрация
 
Hlor007
0 / 0 / 0
Регистрация: 15.07.2013
Сообщений: 23
18.12.2013, 11:15     Использование базовых и производных классов #1
Не могу решить задачу с классами помогите с решением.

Создать класс String – строка. Определить функции присваивания одной строки другой, сравнения, количества символов.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2013, 11:15     Использование базовых и производных классов
Посмотрите здесь:

Наследование классов. Копирование производных классов C++
Класс наследуемый от двух базовых классов C++
C++ массив объектов разных производных классов
Ошибка в инициализации базовых классов C++
C++ List (STL) не пользуется конструкторами копий базовых классов
Структура наследования базовых/производных классов: error LNK 1104 C++
C++ Сравнение производных классов
Продолжение цепочки наследования без дублей базовых классов C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт C++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
18.12.2013, 11:26     Использование базовых и производных классов #2
Hlor007, таких тем на форуме полно. Попробуйте поиском.
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
18.12.2013, 12:11     Использование базовых и производных классов #3
Как то так
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#include <iostream>
#include <cstring>
 
namespace my
{
class String
{
  private:
          char * string;
  public:
         String(char * str)
         {
           string = new char[strlen(str)];
           strcpy(string, str);
         }
         
         String(std::string str)
         {
           string = new char[str.size()];
           strcpy(string, str.c_str());
         }
         
         String(const String & str)
         {
           string = new char[str.size()];
           strcpy(string, str.c_str());
         }
         
         String & operator =(String & str)
         {
             string = new char[str.size()];
             strcpy(string, str.c_str());
             return *this;
         }
         
         bool operator ==(String & str)
         {
             int cmp = strcmp(string, str.c_str());
             if(cmp == 0)
                return true;
             else
                return false;
         }
         
         bool operator !=(String & str)
         {
             int cmp = strcmp(string, str.c_str());
             if(cmp != 0)
                return true;
             else
                return false;
         }
         
         bool operator <(String & str)
         {
             int cmp = strcmp(string, str.c_str());
             if(cmp < 0)
               return true;
             else 
               return false;
         }
         
         bool operator >(String & str)
         {
             int cmp = strcmp(string, str.c_str());
             if(cmp > 0)
               return true;
             else 
               return false;
         }
 
         friend std::ostream & operator <<(std::ostream & out, String & str);
         
         size_t size()const{ return strlen(string); }
         size_t lenght()const{ return strlen(string); }
         char * c_str()const{ return string; }
};
 
std::ostream & operator <<(std::ostream & out, String & str)
{
  out << str.c_str();
  return out;
}
 
}
int main()
{   
    my::String str1("first string");
    my::String str2("second string");
    
    std::cout << str1 << std::endl;
    std::cout << str2 << std::endl;
    
    if(str1 == str2)
      std::cout << "str1 == str2" << std::endl;
    else if(str1 != str2)
      std::cout << "str1 != str2" << std::endl;
    else if(str1 < str2)
      std::cout << "str1 < str2" << std::endl;
    else if(str1 > str2)
      std::cout << "str1 > str2" << std::endl;
      
    str1 = str2;
    
    std::cout << str1 << std::endl;
    std::cout << str2 << std::endl;
    
    
    system("PAUSE");
    return 0;
}
Yandex
Объявления
18.12.2013, 12:11     Использование базовых и производных классов
Ответ Создать тему
Опции темы

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