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

Создать иерархию классов, представляющих простое наследование. Базовый класс – строка символов (char *) - C++

Восстановить пароль Регистрация
 
Jenet_nj
0 / 0 / 0
Регистрация: 03.06.2014
Сообщений: 4
04.06.2014, 17:44     Создать иерархию классов, представляющих простое наследование. Базовый класс – строка символов (char *) #1
. Создать иерархию классов представляющих простое наследование. Базовый класс – строка символов (char *). Производный класс – методы, работающие с данными базового класса. Реализовать в производном классе метод – поиска и замены местами последнего и предпоследнего слова в строке базового класса.

При выполнении контрольных заданий необходимо:
Если в задании требуется разработать класс, то он должен включать:
- компоненты данные
- методы:
а) конструктор по умолчанию;
б) конструктор с параметрами;
в) конструктор копирования;
г) деструктор;
д) методы класса для работы с данными.
Компоненты данные класса должны иметь атрибут private или protected (в зависимости от необходимости).
При реализации задания в базовый класс (кроме перечисленных выше) добавить методы: set – инициализации данных базового класса, get – возврата данных класса.

Добавлено через 17 часов 44 минуты
основной вопрос в том как поменять местами последнее и предпоследнее слова в строке
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.06.2014, 17:44     Создать иерархию классов, представляющих простое наследование. Базовый класс – строка символов (char *)
Посмотрите здесь:

Наследование классов. Используя базовый класс Point {x, y, цвет} разработать производные классы механизма двигателя. C++
C++ Абстрактный базовый класс и множественное наследование (либо иерархия классов)
C++ наследование. построить иерархию классов
Создать абстрактный базовый класс объектов на декартовой плоскости CShape и разработать иерархию классов конкретных фигур C++
C++ Создать базовый класс Car (машина), характеризуемый торговой маркой (строка), числом цылиндров, мощностью
Создать иерархию классов Шахматная фигура – абстрактный класс, содержащий поле – цвет. Создать производные классы C++
C++ Наследование классов С++ (не могу правильно унаследовать базовый класс)
C++ Простое наследование в с++. Базовый класс (AEROFLOT) и дочерний (REIS)

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jenet_nj
0 / 0 / 0
Регистрация: 03.06.2014
Сообщений: 4
05.06.2014, 23:39  [ТС]     Создать иерархию классов, представляющих простое наследование. Базовый класс – строка символов (char *) #2
делала делала , получилась лажа:
C++ (Qt)
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
//#include "stdafx.h"
#include <iostream>
using namespace std;
class String
{
public:
    String()
    {
        str="defstr";
        len=str.length();
    };
    String(string newstr)
    {
        str=newstr;
        len=str.length();
    };
    String(String &st)
    {
        str=st.str;
        len=str.length();
    };
    string Get()
    {
        return str;
    };
    void Set(string newstr)
    {
        str=newstr;
        len=str.length();
    };
 
protected:
    string str;
    int len;
};
class VString: public String
{
public:
    string ChangeWords()
    {        int i=0;
        string FW,LW;
        char temp;
        temp=str[0];
        str+=" ";
        char *T, *str1[540];   const char *leks = " ,!?.-;:";
                 for (int i=0;i<len+1;i++)
        {        sizeof(str);
            temp=str[i];
            FW+=temp;
 
              FW.erase(FW.length()-1,1);
                  T=(char *)FW.c_str();
                 
    int i=0, j = 0;
    str1[j] = strtok(T, " ");
 
    while(str1[j] != NULL)
    {
        j++;
        str1[j] = strtok(NULL, " ");
    }
 
 if(int i=0<j)   {
        swap(str1[i+2], str1[i + 3]);
    }
 
//Вот сдесь лажа, не знаю как соединить эти две части
 
                FW+=temp;
 
                //
              LW+=FW;
              FW.clear();
                 //  };
 
                 };
          str.erase(str.length()-1,1);
             return  LW;
    };
};
 int _tmain(int argc, _TCHAR* argv[])
{
    VString s;
        int j=0;
    s.Set("First Second Third Whois Session");
    cout<<s.Get().c_str()<<endl;
        cout<<s.ChangeWords().c_str()<<endl;
    system("pause");
    return 0;
}
Кто нибудь помогите, может это вообще вариант не правильный, может есть другое ришение
Yandex
Объявления
05.06.2014, 23:39     Создать иерархию классов, представляющих простое наследование. Базовый класс – строка символов (char *)
Ответ Создать тему
Опции темы

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