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

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

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

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

33i12

7i100

+5i - 21

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

C++ Наследование
Наследование C++
C++ наследование
C++ наследование
С++ Наследование C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4924 / 2667 / 243
Регистрация: 29.11.2010
Сообщений: 7,421
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;
}
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4924 / 2667 / 243
Регистрация: 29.11.2010
Сообщений: 7,421
05.06.2013, 03:14     наследование #4
Заключите код в теги CPP

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

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