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

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

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

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

18.12.2013, 11:15. Просмотров 280. Ответов 2
Метки нет (Все метки)

Не могу решить задачу с классами помогите с решением.

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

Структура наследования базовых/производных классов: error LNK 1104 - C++
Может быть проблема, если я неправильно что-то записал в структуре наследования базовых/производных классов?

Вынести методы из классов Panel и PictureBox (явная реализация методов базовых абстрактных классов) - C++
Тема: Множественное наследование. Явная реализация методов базовых абстрактных классов. Как вынести методы из классов Panel и...

Наследование классов. Копирование производных классов - C++
Здравствуйте всем, у меня такой вопрос: написал код #include "stdafx.h" class A //Создаем класс А { int mA; ...

Ошибка в инициализации базовых классов - C++
Привет. Пишу код из книги Лафоре. #include <iostream> using namespace std; #include <windows.h> enum posneg {pos, meg}; class...

Класс наследуемый от двух базовых классов - C++
Друзья Являеться ли класс (А)- Классом наследуемым от двух базовых классов? Если не правильно то как нужно написать ?.Помогите врозумить...

Создать не менее 2-х базовых классов и класс, наследующий их поля - C++
Используя условия задач из лабораторной работы № 12-13, разработайте алгоритм и создайте программу с применением множественного...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
18.12.2013, 11:26 #2
Hlor007, таких тем на форуме полно. Попробуйте поиском.
egor2116
339 / 370 / 42
Регистрация: 20.01.2013
Сообщений: 1,123
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;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2013, 12:11
Привет! Вот еще темы с ответами:

Нюансы использования абстрактных базовых классов (класс Shape) - C++
У меня класс Point наследуется с абстрактного базового класса Shape, и Point тоже абстрактный, поскольку не определил функцию get_area()....

List (STL) не пользуется конструкторами копий базовых классов - C++
Ситуация: Производный класс образован от двух базовых. Базовые классы не пустые, в одном хранится ссылка на картинку Grphics::TBitmap, а...

Продолжение цепочки наследования без дублей базовых классов - C++
class A { public: A(); int x; }; class B : public A { public:

Получение указателя из производного класса на элемент одного из базовых классов - C++
Как все же получить указатель или пускай ссылку на элемент Coef базового класса A. Если так делать нельзя, то по какой причине? Обратите...


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

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

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