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

Перегрузка операторов(строки). - C++

Восстановить пароль Регистрация
 
light9300
1 / 1 / 1
Регистрация: 22.11.2011
Сообщений: 16
13.04.2012, 00:32     Перегрузка операторов(строки). #1
Задание:Описать класс, три объекта с1 с2 с3, используя разные конструкторы: вычесть из объекта с2 символ '5', сложить объекты с2 и с3, результат в с1:результат действий вывести на экран.
описание класса:
строки:значение строки(цифры), конструктор по умолчанию, конструктор с параметрами, конструктор копирования, метод вычисления длины строки, метод вывода строки, перегрузка операторов сложения, присвоения, вычитания.

Почти доделал работу. Надо только написать проверку в конструкторе которая контролирует, что б при введении строки писали только цифры, и подправить код где надо на роботоспособность.
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
#include "stdafx.h"
#include <iostream>
#include <string>
 
class Stroki{
    char*s;
public:
    Stroki();
    Stroki(char *c);
    Stroki(const Stroki& d);
    /*Stroki(int a):value(a)
   {
   }
    const Stroki& operator = (const int& val)
   {
      value = val;
      return *this;*/
/***********************************************************************/
    int dovjuna_ryadka();
    void show();
/***********************************************************************/
    Stroki operator+(Stroki &s);
/***********************************************************************/
    Stroki operator-(char s);
/***********************************************************************/
    Stroki& operator = (Stroki& s);
};
Stroki::Stroki(char *s){
    this->s = s-'5';};
 
 
 
Stroki::Stroki(const Stroki& d){
    s=d.s;
}
/***********************************************************************/
Stroki::Stroki(){
    s = new char [10];
    s[0] = '\0'; 
};
/***********************************************************************/
 
 
Stroki::Stroki(char *s) {this->s=s;}
 
int Stroki::dovjuna_ryadka ()
{return strlen(s);};
/***********************************************************************/
Stroki& Stroki::operator = (Stroki& s){ // перегрузка присваивания
    
    this->s = s.s;
     return *this;
}
/***********************************************************************/
 
void Stroki::show()
{ printf("%s\n",s);}
 
void main(){
    char *ss = new char[33];
    printf("Enter of string ->");
    scanf("%s", ss);
    
    char five='5';
    Stroki st(ss);
    printf("Length -> %i\n",st.dovjuna_ryadka());
    st.show();
 
    Stroki s1;
    printf("\s1\n");
    s1.show();
    //конструктор з параметрами
    Stroki s2="575757";
    printf("\s2\n");
    s2.show();
 
    Stroki s3(s2);
    printf("\s3\n");
    s3.show();
    
    
    s1=s2+s3;
    printf("Додаємо другу і третю стрічку = %g\n", s1); 
 
    st=s2-five;
    
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.04.2012, 00:32     Перегрузка операторов(строки).
Посмотрите здесь:

Перегрузка операторов C++
[c++] Перегрузка операторов C++
C++ перегрузка операторов >>,<<,[]
C++ Перегрузка операторов
C++ Перегрузка операторов
Перегрузка операторов C++
Перегрузка операторов C++
Перегрузка операторов C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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