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

Общие символы для двух строк(своего класса) через перегрузку оператора - 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 при заданном диапазоне... подробнее

Показать сообщение отдельно
mishelle92
64 / 63 / 21
Регистрация: 09.10.2012
Сообщений: 204
Завершенные тесты: 1
29.09.2013, 21:48
Кликните здесь для просмотра всего текста
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
103
#include <iostream>
#include <string>
#include <conio.h>
using namespace std;
 
class String{
private:
    char *str;
    int len;
public:
    String();//конструктор по умолчанию
    ~String() { delete [] str;}
    String(char *);//конструктор с параметром
    String(const String& copy);
    void GetString();//вывод строки
    void SetString();//ввод строки
    String& operator=(const String&copy);
 
    String operator*(const String& s2)
    {
        char *temp = new char[s2.len+1];
        int i=0;
        char *pch = strpbrk (str,s2.str);
        while (pch != NULL)                                        
        {
             temp[i] = *pch;                               
             pch = strpbrk (pch+1,s2.str);  
             i++;
        }
        temp[i] = '\0';
        String result(temp);
        delete[] temp;
        return result;
    }
};
 
String::String()
{
    len = 0;
    str = NULL;
}
 
String::String(char* instr)
{
    len = strlen(instr);
    str = new char[len+1];
    strcpy(str,instr);
}
 
String::String(const String& copy)
{
    len = copy.len;
    str = new char[len+1];
    strcpy(str,copy.str);
}
 
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;
}
 
String& 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;
}
 
 
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();
}


Попробуйте, может что-то я не написал/вы не увидели.

Добавлено через 1 минуту
Вместо '\n' нужно '\0'.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.