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

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

Войти
Регистрация
Восстановить пароль
 
Rom8075069
#1

наследование - C++

05.06.2013, 01:50. Просмотров 576. Ответов 3
Метки нет (Все метки)

Люди, помогите пожалуйста....Не знаю как ее сделать...
Описать базовый класс Строка. Обязательные поля класса:
• поле для хранения символов строки;
• значение типа word для хранения длины строки в байтах.
Реализовать обязательные методы следующего назначения:
• конструктор без параметров;
• конструктор, принимающий в качестве параметра строковый литерал;
• конструктор, принимающий в качестве параметра символ;
• метод получения длины строки;
• метод очистки строки (сделать строку пустой).
Описать производный от Строка класс Комплексное число. Строки данного класса состоят из двух полей, разделенных символом i. Первое поле задает значение действительной части числа, второе - значение мнимой. Каждое из полей может содержать только символы десятичных цифр и символы - и +, задающие знак числа. Символы - или + могут находиться только в первой позиции числа, причем символ + может отсутствовать, в этом случае число считается положительным. Если в составе инициализирующей строки будут встречены любые символы, отличные от допустимых, класс Комплексное число принимает нулевое значение.

Примеры строк:

33i12

7i100

+5i - 21

Для класса Комплексное число определить следующие методы:
• проверка на равенство;
• сложение чисел;
• умножение чисел.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.06.2013, 01:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос наследование (C++):

Заменить наследование классов на наследование интерфейсов - C++
#include <iostream> #include <assert.h> using namespace std; int people_on_base = 100; int vehicles_on_base = 100; double...

Наследование - C++
char* Texts :: SetBit() { char a; int b; cout << "Получаем битовую строку" << endl; cin >> a; b = strlen(a);...

наследование - C++
Пытаюсь разобраться в наследовании Есть класс class File { public: struct comp { char num; // Имя переменной char st;...

Наследование - C++
Всем привет. Может кто нибудь подсказать с чего начать при создании класса для работы с файлами на подобии ostream( а точнее как правильно...

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

Наследование?! - C++
привет всем. Есть класс Circle c1, c2, c3 Нужно реализовать через наследование класс множество, прошу помочь как он будет выглядеть...

3
MrGluck
Модератор
Эксперт CЭксперт С++
7490 / 4605 / 691
Регистрация: 29.11.2010
Сообщений: 12,589
05.06.2013, 02:29 #2
Цитата Сообщение от Rom8075069 Посмотреть сообщение
Не знаю как ее сделать
Что именно? Только не говорите, что всё..
0
Rom8075069
05.06.2013, 03:06 #3
Цитата Сообщение от MrGluck Посмотреть сообщение
Что именно? Только не говорите, что всё..
вот что-то есть

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
#include "stdafx.h"
#include <iostream>
#include <string>
#include <string.h>
#include <tchar.h>
 
 
int const Number = 100;
 
using namespace std;
 
class Strings{
public:
    Strings(){};
    Strings(string _Str);
    Strings(char _Symbol);
int GetLength();
void MakeEmptyStr();
void Show() { cout<<string_s<<endl; };
//protected:
        string string_s; int LengthStr;
};
 
Strings::Strings( string _Str )
{
    string_s = _Str;
}
 
Strings::Strings( char _Symbol )
{
    string_s += string(&_Symbol, 0, 1);
}
 
int Strings::GetLength()
{
    LengthStr = string_s.length();
    return LengthStr;
}
 void Strings::MakeEmptyStr()
 {
     string_s = string("", 0 , 1);
 }
 
 
class Complex : public Strings {
 
public:
 int Equality ( Strings _s, Strings _s1 );
 Complex Summa( Strings _s, Strings _s1 );
 Complex Difference ( Strings _s, Strings _s1 );
 Complex Increase ( Strings _s, Strings _s1 );
 Complex Division ( Strings _s, Strings _s1 );
 Complex Exclusion();
};
 
int Complex::Equality ( Strings _s, Strings _s1 )
{
 
    if (string.compare( _s.string_s.c_str(), _s1.string_s.c_str()) == 0 )
            return 1;
            else return -1;
}
 
 
 
 
int main()
{
  Strings S("ab"), S1 ("ab");
  Complex st;
  cout<<S.GetLength()<<endl;
  S.MakeEmptyStr();
  S.Show();
 
  cout<<st.Equality(S,S1)<<endl;
  system("PAUSE");
    return 0;
}
MrGluck
Модератор
Эксперт CЭксперт С++
7490 / 4605 / 691
Регистрация: 29.11.2010
Сообщений: 12,589
05.06.2013, 03:14 #4
Заключите код в теги CPP

Добавлено через 13 секунд
И расставьте пробелов, иначе нечитаемо
0
05.06.2013, 03:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.06.2013, 03:14
Привет! Вот еще темы с ответами:

наследование - C++
Как наследовать классы с использованием виртуальных функций? Можете привести пример?

наследование в С++ - C++
Добрый вечер. относительно недавно мною была получена задача, а точнее несколько задач в одной...И как это ни печально звучит, проблемы...

наследование - C++
помогите пожалуйсто дописать класс многоугольников , и рисовать на монитор с помощью mfc , заранее благодарен... class figure{ public: ...

Наследование в C++ - C++
Прошу помощи, ибо С++ не моё, а лабораторные работы девушке сдавать надо: Создать 1 базовый класс и несколько производных. Все...


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

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

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