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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Использование передачи параметра (массива) через указатель http://www.cyberforum.ru/cpp-beginners/thread546580.html
#include <iostream.h> #include <stdlib.h> #include <conio.h> int n; int mas; int fun1(int) ; int main() { //clrscr(); cout<<"Vvedite razmer posledovatel'nosti"<<endl; cin>>n;
C++ Как сделать, чтобы калькулятор реагировал на унарный минус подскажите, как сделать, чтобы этот калькулятор реагировал на унарный минус? int prior(char c) { int a; if (c=='+' || c=='-') return a=0; if (c=='*' || c=='/') return a=1; if (c=='^') return a=2; else return a=3; } double calc(char *str, int left, int right) http://www.cyberforum.ru/cpp-beginners/thread546577.html
C++ Написать программу, выводящую на экран треугольник
Всем привет! Написать программу выводящую на экран треугольник: * *** (ребят,не получается отредактировать треугольник, он должен быть как пирамида, а не с прямым углом) ***** количество строк задается пользователем с клавиатуры вот пример программы с другим треугольником, помогите с кодом пожалуйста
Найти рекурсивно значение функции Аккермана A(m, n) C++
Я новичек так что сильно не бейте :) Нужно рекурсивно найти функцию Аккермана. double Akerrman(int m,int n) { if (m = 0) return n* Akkerman(n+1); else if (n > 0) return Akkerman* (Akkerman* (m-1 ,1)); else returm Akkerman* (m-1,Akkerman* (m,n-1));
C++ Удалить слово из строки http://www.cyberforum.ru/cpp-beginners/thread546545.html
Подскажите как вообще в принципе удалить слово из строки. Например мне нужно удалить последнее слово. Я посимвольно просматриваю строку, начиная с конца, как встретиться пробел, нужно удалить символы от этого пробела и до конца строки, как это сделать?
C++ Реализация редактора тестов Реализация редактора тестов (ввод тестовых вопросов и вариантов ответов, сохранение данных в файл, запуск процесса тестирования, ограничение времени при ответе на вопрос, сохранение результатов тестирования). Может у кого-нибудь есть пример или опишите с чего начать, буду очень благодарен. Заранее спасибо. подробнее

Показать сообщение отдельно
light9300
1 / 1 / 1
Регистрация: 22.11.2011
Сообщений: 16
13.04.2012, 00:32     Перегрузка операторов(строки).
Задание:Описать класс, три объекта с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;
    
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru