Форум программистов, компьютерный форум, киберфорум
Наши страницы

Нужно изменить немного программу на перезагрузку - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как отсортировать массив? http://www.cyberforum.ru/cpp-beginners/thread190364.html
Помогите пожалуста очень срочно надо. у меня не получается(( вот прога, тока мне еще надо преобразовать массив так чтобы сначала были все числи, отличающиеся от максимального не более чем на 2, а...
C++ Зацикливание в программе Здравствуйте! Помогите, пожалуйста. У меня в программе требует проверить, нечетное ли положительное число введено. И пока не введут нужное число программа будет спрашивать его еще раз. Когда я... http://www.cyberforum.ru/cpp-beginners/thread190361.html
C++ Компилятор или интепретатор.
Здравствуйте! Я начинаю изучать C++ помогите, какое ПО подойдет больше всего для этого, для начинающего. И что конкретно мне нужно для обработки кода программы компилятор или интепретатор? Я не...
C++ GET/POST
Как можно отправить запрос на адрес в интернете и получить ответ?
C++ Факториал,указатели http://www.cyberforum.ru/cpp-beginners/thread190333.html
1.Найти факториал числа, который входил бы в предел от a до b.Вот программа,но только она в конце не выводит конечное значение факториала.В чем м.б. ошибка???? 2.Нужно написать эту же программу при...
C++ Строковый калькулятор добрый вечер. мне нужно написать программу, выполняющую функцию строкового калькулятора с операциями+-*/. Нашла исходники, но там помимо моих операций, еще скобки и возведение в степень, переделать... подробнее

Показать сообщение отдельно
SashaV21
0 / 0 / 0
Регистрация: 10.05.2010
Сообщений: 27

Нужно изменить немного программу на перезагрузку - C++

13.11.2010, 10:06. Просмотров 286. Ответов 0
Метки (Все метки)

Помогите изменить программу, чтобы из последней класс строки вычиталось последние 5 элементов
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
#include "stdafx.h"                         
#include <iostream>
#include <string.h> 
using namespace std;
 
class String                                            //описание класса-строки
{
    char str[80];                                   //объект, созданный этим классом будет содержать строку в 80 символов
public:
    String();                                           //конструктор по умолчанию
    String(const String &ob);                           //конструктор копирования
    String(char *s);                                    //конструктор с одним параметром (когда мы при создании объекта 
    void print();                                       //метод для вывода строки на экран
    void operator++();                                  //метод для перегрузки символа ++ - для преобразования символов строки в строчные символы
    friend String operator+(String &ob1, String &ob2);  //функция-друг класса String для перегрузки +. делает конкатенацию(добавление одной строки в конец другой)
};
 
String::String()                                    //описание конструктора по умолчанию - создает объект с нулевой строкой
{
    str[0] = '\0';
}
String::String(const String &ob)                    //описание конструктора копирования
{
    strcpy(str,ob.str);                     //strcpy - стандартная функция из библиотеки <string.h> копирует из строки объекта ob в строку объекта, который создается с помощью конструктора копирования.
}
String::String(char *s)                     //описание конструктора с одним параметром 
{
    strcpy(str,s);              //s - это указатель на строку, которую мы вводим при создании объекта (смотри main())
}
 
void String::print()                //описание метода для вывода на экран строки
{
    cout << str << endl;
}
 
void String::operator++()                   //
{
    int i=0;
    while(str[i]!='\0')                         //цикл выполняется, пока не дошли до конца строки
    {
        str[i] = tolower(str[i]);               //tolower - функция, которая преобразует символы строки в строчные символы
        i++;
    }
 
}
String operator+(String &ob1, String &ob2)
{
    char *s = strcat(ob1.str,ob2.str);          //strcat - функция, которая добавляет строку из объекта ob2 в конец строки объекта ob1.
    return s;                               //operator+ возвращает указатель на строку, которая содержит обе строки из объектов
}
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    String s1("hello. i'm a human. ");                  //создаем объект, содержащий строку с помощью конструктора String(char *s) char *s - это строка, которая вписана в скобках
    String s2("WOW. i'm too.");                         //тоже с помощью String(char *s)
    String s3(s1);                              //создаем объект, с помощью конструктора копирования
    String s4;                              //создаем объект, с помощью конструктора по умолчанию
    s1.print();                         //выводим на экран строку объекта s1
    cout << endl;
    s2.print();                         //выводим на экран строку объекта s2
    cout << endl;
    s3.print();                         //выводим на экран строку объекта s3
    cout << endl;
    s4 = s1+s2;                     //здесь происходит перегрузка, реализованная с помощью функции friend String operator+(String &ob1, String &ob2). s4 теперь это объект , содержащий строку, составленную из s1 и s2
    s4.print();
    cout << endl;
    s2++;                   //здесь происходит перегрузка void String::operator++() 
    s2.print();
 
    cout << endl;
    
    
 
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru