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

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

Войти
Регистрация
Восстановить пароль
 
Rom8075069
Сообщений: n/a
#1

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

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

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

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

33i12

7i100

+5i - 21

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

наследование - C++
Доброго времени суток всем. У меня такая проблема: написал класс L2 список символов. На его основе требуется сделать дек символов. Кроме...

Наследование - C++
Реализовать наследование классов, их констркторов, и если необходимо деструкторов, для своего варианта. Продемонстрировать в программе...

Наследование - C++
Помогите пожалуйста вот с такой задачей: Надо создать класс треугольник. Вводим три стороны и находим периметр и градусы углов. Потом...

наследование - C++
Всем привет.Проблема в том, что у меня не сравниваются числа в классе Fraction.Я просто не знаю,как правильно это сделать.Подскажите...

Наследование - C++
Не могу понять в чем ошибка. #include <iostream> #include <string> using namespace std; class Auto { protected: string...

Наследование - C++
Какой практический смысл private-наследования? (Понятно, что это инкапсуляция базового класса)

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Модератор
Эксперт CЭксперт С++
7185 / 4351 / 634
Регистрация: 29.11.2010
Сообщений: 11,843
05.06.2013, 02:29     наследование #2
Цитата Сообщение от Rom8075069 Посмотреть сообщение
Не знаю как ее сделать
Что именно? Только не говорите, что всё..
Rom8075069
Сообщений: n/a
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;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.06.2013, 03:14     наследование
Еще ссылки по теме:

Наследование в С++ - C++
Здравствуйте! #include &lt;iostream&gt; using namespace std; class exp{ public: virtual exp* diff()=0; virtual void...

Наследование - C++
Привет! Есть следующая ситуация: class Counter { protected: unsigned int count; public: Counter(): count(0) {} ...

Наследование - C++
Прошу помочь реализовть программу. Задание на русском: Разработать класс CFile,который инкапсулирует в себя такие функции работы с...

Наследование - C++
Доброе дня, прошу вас помочь в решение данной задачи.

Наследование - C++
Четыре класса наследуются друг от друга. Интересует какое в дальнейшем отношение имеют к базовому классу унаследованные члены в производных...

наследование - C++
Помогите разобраться в программе. Почему возникают такие ошибки cylindr.cpp expected `,' or `...' before '&amp;' token cylindr.cpp `c'...


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

Или воспользуйтесь поиском по форуму:
MrGluck
Модератор
Эксперт CЭксперт С++
7185 / 4351 / 634
Регистрация: 29.11.2010
Сообщений: 11,843
05.06.2013, 03:14     наследование #4
Заключите код в теги CPP

Добавлено через 13 секунд
И расставьте пробелов, иначе нечитаемо
Yandex
Объявления
05.06.2013, 03:14     наследование
Ответ Создать тему
Опции темы

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