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

Общие символы для двух строк(своего класса) через перегрузку оператора - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ C++ Очередь http://www.cyberforum.ru/cpp-beginners/thread965182.html
Предисловие к заданию: Определить структуру очереди и разработать функции, которые необходимы для работы с заданным контейнером: функция складывания элемента push(память выделять динамически),...
C++ Дано число, найти максимальную цифру и количество простых цифр Есть базовый класс. В нем определена вирт функция со следующей реализацией: для введенного числа она ищет самую большую цифру числа и возвращает на выходе. Есть производный класс, в котором... http://www.cyberforum.ru/cpp-beginners/thread965175.html
C++ Ряд Тейлора
Написати прогу нахождения приближенного значения функции y=f(x) используя ее расписание в ряд Тейлора. exp(x)=1+x/1!+pow(x,2)/2!+...+pow(x,n)/n!; Помогите. Заранее спасибо)
C++ Определить, сколько точек пересечения имеют прямая и окружность и найти координаты этих точек
Привет. Тут такое дело. В общем я неплохо знаю сам язык, но вот задачку решить не могу. Т.е не знаю как. С школьной математикой у меня беда. Помогите пожалуйста. Даны прямая и окружность, заданные...
C++ Изменение строки! http://www.cyberforum.ru/cpp-beginners/thread965162.html
У меня есть код. Нужно сделать чтобы я мог редактировать формулу,и по отредактированой формуле считало!!( #include "StdAfx.h" #include "windows.h" #include <conio.h> #include <stdio.h> ...
C++ алгоритм вычисления Нужна ваша помощь, не могу разобраться c заданием. Заранее спасибо. "Добавить к программе алгоритм вычисления суммы последовательности значений математического выражения Y при заданном диапазоне... подробнее

Показать сообщение отдельно
vozup
5 / 5 / 0
Регистрация: 25.12.2011
Сообщений: 100
29.09.2013, 21:43  [ТС]
Вот что у меня:
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#include <iostream>
#include <string>
#include <conio.h>
using namespace std;
 
class String{
private:
    char *str;
    int len;
public:
    String();//конструктор по умолчанию
    ~String() { delete [] str;}
    String(char *);//конструктор с параметром
    void GetString();//вывод строки
    void SetString();//ввод строки
    String(const String&);//безопасное копирование строки
 
    String operator*(const String& s2)//перегрузка оператора *
    {
        char *temp = new char[s2.len+1];
        int i=0;
        char *pch = strpbrk (str,s2.str); //первый поиск
        while (pch != NULL && i != s2.len+1)    //дальнейший поиск                                    
        {
         temp[i] = *pch;                               
         pch = strpbrk (pch+1,s2.str);  
         i++;                                   
        }
        temp[i] = '\n';
        String result(temp);
        delete [] temp;
        return result;
    }
 
    String& operator=(const String& copy)//перегрузка оператора =
    {
        if(this == &copy)
            return *this;
        if(str)
            delete[] str;
        len = copy.len;
        str = new char[len+1];
        strcpy(str, copy.str);
        return *this;
    }
};
 
String::String(const String& copy)//безопасное копирование строки
{
    len = copy.len;
    str = new char[len+1];
    strcpy(str,copy.str);
}
 
String::String()
{
    len = 0;
    str = NULL;
}
 
String::String(char* instr)
{
    len = strlen(instr);
    str = new char[len+1];
    strcpy(str,instr);
}
 
void String::SetString()
{
    if(str != NULL) //если перед эти строка была задана с помощью конструктора с параметром,
    {               //очищаем ее
        delete [] str;
    }
    cout<<"Enter your string: ";
    char *strnew = new char[80];
    cin>>strnew;
    len = strlen(strnew);
    str = new char[len+1];
    strcpy(str,strnew);
    delete [] strnew;
}
 
void String::GetString()
{
    cout<<"Your String is: "<<str;
}
 
 
void main()
{
    String s1,s2("Hello"),s3;
    s1.SetString();
    s2.SetString();
    s1.GetString();
    cout<<endl;
    s2.GetString();
    s3 = s1*s2;
    cout<<endl;
    cout<<"Result is: \n";
    s3.GetString();
    getch();
}
0
Миниатюры
Общие символы для двух строк(своего класса) через перегрузку оператора  
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru