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

Передача объекта аргументом в метод - C++

Восстановить пароль Регистрация
 
sashkov1309b
0 / 0 / 0
Регистрация: 01.06.2016
Сообщений: 3
01.06.2016, 15:59     Передача объекта аргументом в метод #1
Итак, надо передать объект аргументом. Я его передал, нов методе должно измениться одно поле объекта. Но после выполнения метода оно не изменяется. Что тут делать?
Вот код

C++
1
2
3
4
5
6
    void adding(MainC *MainCobj) { //2+1 ->3
        if (MainCobj->n > MainCobj->m) k = n; else k = m;
        for (i = 0;i < k;i++) { MainCobj->c[i] = MainCobj->a[i] + MainCobj->b[i];}
        cout << "adding:" << c[1]<<endl;
        cout << "cc=" << MainCobj->c[1]<<endl;
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.06.2016, 15:59     Передача объекта аргументом в метод
Посмотрите здесь:

C++ Передача объекта в метод класса
C++ Передача объекта в метод
C++ Передача объекта в метод
Передача функционального объекта в функцию C++
Передача динамической структуры аргументом функции C++
Передача объекта в вызывающую функцию C++
Передача объекта в функцию C++
C++ Передача объекта в функцию

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Hikari
Хитрая блондиночка $)
 Аватар для Hikari
1336 / 899 / 272
Регистрация: 21.12.2015
Сообщений: 3,592
01.06.2016, 16:07     Передача объекта аргументом в метод #2
А как ты понял что оно не меняется?
покажи полностью программу.
sashkov1309b
0 / 0 / 0
Регистрация: 01.06.2016
Сообщений: 3
01.06.2016, 16:13  [ТС]     Передача объекта аргументом в метод #3
C++
1
2
3
4
5
6
7
8
9
10
11
void iomass(MainC *MainCobj,int J) {
        cout << "outputmass" << endl;
        if (J == 1) { for (i = 0;i < MainCobj->n;i++) { cout << 1;cout << MainCobj->a[i] << endl; } }
        else
            if (J == 2) { for (i = 0;i < MainCobj->m;i++) { cout << 1;cout << MainCobj->b[i] << endl; } }
            else
            {
                for (i = 0;i < MainCobj->coef;i++) { cout << 1; cout << MainCobj->c[i] << endl; }
            }
        _getch();
    }
Функция вывода
Есть 3 класса которые наследуются 3->2->1
Вот мейнк
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
class MainC{
public :
    string a[100], b[100],c[100],temp[100];
    int n, m,i,j,k,itemp,coef;
    MainC() {
        n = 4;
        m = 4;
        j = 1;
    }
 
    MainC(int N,int M,int J) {
        n = N;
        m = M;
        j = J;
    }
    
    bool maxcont (string tmp) {
        if (tmp.length() > 5) return true; 
        else return false;
    }
 
    void inputm1() {
        cout << "Mass 1:" << endl;
        string temp;
        for (i=0;i < n;i++) {
            cin >> temp;
            if (maxcont(temp))
            {
                a[i] = temp;
                i--;
                cout << "Error, input again" << endl;
            }
            else a[i] = temp;;
        }
    }
 
    void inputm2() {
        string temp;
        cout << "Mass 2:" << endl;
        for (i = 0;i < n;i++) {
            cin >> temp;
            if (maxcont(temp))
            {
                i--;
                cout << "Error, input again" << endl;
            }
            b[i] = temp;
        }
    }
};
Yandex
Объявления
01.06.2016, 16:13     Передача объекта аргументом в метод
Ответ Создать тему

Метки
c++
Опции темы

Текущее время: 18:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru