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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ О перегрузке операторов http://www.cyberforum.ru/cpp-beginners/thread700337.html
Вот у меня есть код программы : #include "stdafx.h" #include <iostream> #include <conio.h> using namespace std; class A {private: //закритий доступ int x; public: //відкритий доступ A()
C++ Substring для textbox Вот в чем проблема: Надо взять подстроку из "переменной" textBox1->Text Но, никакие попытки и поиски решения в интернете по SubString из textbox, нету! Vs2008 http://www.cyberforum.ru/cpp-beginners/thread700332.html
C++ Ошибка "cannot convert"
Дано два массива 3х2 и 1х3 double W1={{ 0.1, 0.1},{-0.2,-0.1},{ 0.1, 0.3}}; double W2={0.2,0.2,0.3}; Вызываю ф-цию solo два раза solo(x1,x2,2,3,W1); solo(x2,x3,1,3,W2);
Удаление символов строки, используя указатель C++
Здравствуйте, помогите, пожалуйста, дописать код. Заранее спасибо за помощь. Задание: 1. Ввести строку в символьный массив размером 60. 2. Выделить блок памяти, достаточный для размещения строки. 3. Переписать введённую строку во вновь выделенный блок памяти. 4. Используя указатель (-и), удалить из строки первые N символов. Значение N вводится пользователем. Проблема возникает на 4 этапе....
C++ Для тех кто делает оконные приложения в Builder C++ Borland http://www.cyberforum.ru/cpp-beginners/thread700312.html
Ребята вот подскажите..если я создал приложение , оно работает , все норм, но вот я хочу что бы там было несколько форм. как подключить к одной формк кнопку перехода на другую... и что бы вторая форма была с другим меню.... подскажите пожалуйста!!!!!
C++ Вычисление значения функции, заданной на промежутках Задание: Для Х, принимающего значения от XN=-30 до XK=50 с шагом ∆X=0,6, определить Y. При условии: Y= log3x, если x>6,8 Y= x-32, если 0<=x<=6,8 Y= sin(x), если x<0. Результат выдать в форме таблицы значений X иY. Проверьте, пожалуйста, решение, которое я здесь приведу. Исправьте, если что не так или предложите свой вариант, если считаете, что ваш вариант лучше. Только не судите строго, я... подробнее

Показать сообщение отдельно
kuli4ok
31 / 31 / 3
Регистрация: 10.10.2012
Сообщений: 88

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

17.11.2012, 17:31. Просмотров 349. Ответов 7
Метки (Все метки)

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
#include <stdio.h>
#include <stdlib.h>
 
class matrix
{
protected:
    int **mass;
    int n;
public:
    matrix()
    {
        n = 5;
        mass = new int*[n];
        for(int i=0; i<n; i++)
        {
            mass[i] = new int[n];
        }
    }
    ~matrix()
    {
        for(int i=n-1; i>=0; i--)
        {
            delete [] mass[i];
        }
    }
    matrix(const matrix &o)
    {
        n = o.n;
        mass = new int*[n];
        for(int i=0; i<n; i++)
        {
            mass[i] = new int[n];
        }
        for(int i=0; i<n; i++)
        {
            for(int j=0; j<n; j++)
            {
                mass[i][j] = o.mass[i][j];
            }
        }
    }
    void show()
    {
        for(int i=0; i<n; i++)
        {
            for(int j=0; j<n; j++)
            {
                printf("%d ", mass[i][j]);
            }
            printf("\n");
        }
    }
    void get_rand()
    {
        for(int i=0; i<n; i++)
        {
            for(int j=0; j<n; j++)
            {
                mass[i][j] = rand()%10;
            }
        }
    }
    matrix operator+(matrix o)
    {
        matrix m;
        for(int i=0; i<n; i++)
        {
            for(int j=0; j<n; j++)
            {
                m.mass[i][j] = mass[i][j] + o.mass[i][j];
            }
        }
        return m;
    }
};
 
int main()
{
    matrix o1, o2;
    o1.get_rand();
    o2.get_rand();
    o1.show();
    printf("\n");
    o2.show();
    matrix o3;
    o3 =o1+o2;
    printf("\n");
    o3.show();
    return 0;
}
Здесь перегружен оператор + для сложения элементов матрицы, но почему то он складывает все элементы за исключением первого столбца.
Пример выходных данных:

3 6 7 5 3
5 6 2 9 1
2 7 0 9 3
6 0 6 2 6
1 8 7 9 2

0 2 3 7 5
9 2 2 8 9
7 3 6 1 2
9 3 1 9 4
7 8 4 5 0

134525712 8 10 12 8
134525736 8 4 17 10
134525760 10 6 10 5
134525784 3 7 11 10
0 16 11 14 2

Подскажите, пожалуйста, в чем проблема?
p.s. только начал изучать перегрузку операторов, сильно не пинайте
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru