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

Перегрузка оператора "=" - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Измените программу с использованием циклических алгоритмов http://www.cyberforum.ru/cpp-beginners/thread424173.html
Для каждого x, изменяющегося от a до b с шагом h, найти значения функции Y(x), суммы S(x) и |Y(x)–S(x)| и вывести в виде таблицы. Значения a, b, h и n вводятся с клавиатуры. Работу программы проверить для a = 0,1; b = 1,0; h = 0,1; значение параметра n=10. #include <math.h> #include <stdio.h> #include <iostream.h> int main() { double a,b,h,n,S,Y,x; int i=1;
C++ Матрицы в С. Очень нужна ваша помощь Помогите решить хотя бы некоторые задачи, а я на их примере буду кумекать над остальными. Просто 11го экзамен по программированию, а я ни бум бум. Заранее огромное спасибо Выкладывайте сами задания, при этом не забывая, что На каждый вопрос создавайте по одной теме - это помогает избежать путаницы в ответах и облегчает поиск.Правила форума http://www.cyberforum.ru/cpp-beginners/thread424154.html
C++ (С++) задача на функции. Подсчет годовой зарплаты работника
Задача: Известна ежемесячная заработная плата персонала предприятия в течение календарного года. Вывести фамилии тех сотрудников, у которых годовая заработная плата выше средней. Считать, что штат предприятия составляет 7 человек. Подсчет годовой зарплаты работника оформить в виде функции. как ее решить, не понимаю смысл этих функций
Задачник по C++ со всеми уровнями сложности C++
подскажите задачник по с++ со всеми уровнями сложности
C++ Нарисовать параллелепипед с помощью звездочек http://www.cyberforum.ru/cpp-beginners/thread424128.html
Подскажите как нарисовать параллелепипед с помощью звездочек и вывести его в консоль. Только простыми циклами без putchar и тому подобного. Я смог нарисовать лишь верхнюю и среднюю его половинки, а вот нижняя никак не хочет получаться. Когда рисую цепочку звездочек на боковой треугольник нижней части и пытаюсь после него продолжить фигуру прямоугольником, то в консоли получаю параллелограмм,...
C++ Инициализация n функций одновременно Добрый день, меня интересует, как инициализировать 2 функции одновременно. В моем случае мне нужно, чтобы работала функция реакции на клавиатуру (причем при нажатии определенной клавиши, запускается еще одна функция, но функция реакции на клав. остается), и одновременно с ней работала любая другая функция..например, считающая факториал бесконечности. Вообще реально ли такое? подробнее

Показать сообщение отдельно
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
08.01.2012, 00:48     Перегрузка оператора "="
у тебя в main() не правильно сам оператор вызывается, нам наоборот надо. Если я правильно понял задание, то можно реализовать так
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
#include <iostream>
#include <cstring>
#include "conio.h"
using namespace std;
 
class strtype
{
    char string[80];
public:
    strtype ()
    {
        *string = '\0';
    }
    strtype (char *p)
    { 
        strcpy(string, p);
    }
    const char *get() const
    {
        return string;
    }
    const strtype& operator= (strtype s2); 
};
 
const strtype& strtype::operator = (strtype s2)
{
    const char* begin = s2.get();
 
    while (*begin && *begin != '[')
        ++begin;
    if (*begin == NULL)
        return *this;
 
    ++begin;
    unsigned int i = 0;
    unsigned int length = strlen(begin);
    while (begin[i] != ']' && i < length)
        ++i;
    if (i == length)
        return *this;
    else
        strncpy(string, begin, i);
    string[i] = NULL;
 
    return *this;
}
 
int main()
{
    strtype o1("123 [456] 789"), o2("");
    o2 = o1;
    std::cout << "S1= " << o1.get() << std::endl;
    std::cout << "S2= " << o2.get() << std::endl;
 
    system("pause");
 
    return 0;
 
}
 
Текущее время: 14:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru