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

Почему метод класса затирает статическое поле - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Наследование классов по правилам C++ http://www.cyberforum.ru/cpp-beginners/thread1566580.html
Задание 4. Опишите наследование этих классов по правилам C++. Символ → оз- начает, кто от кого происходит, например, A,B→C означает, что C наследует от A и B. Имеет ли место множественное наследование? Имеет ли место многократ- ное наследование какого-то базового класса? Предложите, где добавить вирту- альное наследование для устранения дублирования данных при наследовании. Опишите порядок...
C++ Преобразовать string в LPBYTE Подскажите, как это сделать? http://www.cyberforum.ru/cpp-beginners/thread1566577.html
C++ Реализовать игру человека и машины по заполнению “Греко-латинского квадрата”
“Греко-латинским квадратом” порядка N называют матрицу (N, N), в каждом столбце, каждой строке и обеих диагоналях которого содержатся все целые числа от 1 до N . Реализовать игру человека и машины по заполнению “Греко-латинского квадрата”. Проигрывает тот, кто первым не сумеет сделать допустимый ход.
C++ Ошибка проектирования класса
Начал писать класс дробей, но сразу же наткнулся на какие-то ошибки, не могу понять как исправить. head.h: #ifndef HEAD_H #define HEAD_H namespace Drobi { class Drobi { private:
C++ Отсортировать массив записей по содержимому поля surname http://www.cyberforum.ru/cpp-beginners/thread1566556.html
Нужно сделать сортировку! Чтобы выведенные фамилии были в алфавитном порядке! Не понимаю как её впихнуть сюда #include <iostream> using namespace std; struct WORKER { char surname; // фамилия char initials; // инициалы char post; // должность int date; // год рождения };
C++ Порядок вычислений C++ Каков порядок вычисления для этого предложения,какие предположения можно сделать о типе операндов?Имеет ли место неоднозначность вычислений? a+=c>b ? (a-=y,z)+5 : c+=4 Вот собственно вопрос,форумчане подробнее

Показать сообщение отдельно
daiwud
1 / 1 / 1
Регистрация: 04.08.2015
Сообщений: 13
30.10.2015, 13:59     Почему метод класса затирает статическое поле
Добрый день Я учу самостоятельна с++. Сейчас разбираю тему классы. Вот у меня возник вопрос по коду:

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
#include<iostream>
using namespace std;
 
class maxim{
    int a; 
    static int b;
    
    public:
    maxim();
    ~maxim();
    void daiwud();
    void daiwud1();
};
 
int maxim::b;
 
maxim::maxim()
{
    a=4;
    b=0;
}
 
maxim::~maxim()
{
    cout << "razryw;\n";
}
 
void maxim::daiwud()
{
    a=a+1;
    b=b+2;
    
    cout << a << " - eto a;\n";
    cout << b << " - eto b;\n\n";
}
 
void maxim::daiwud1()
{
    cout << a << " - eto a;\n";
    cout << b << " - eto b;\n\n";
    b=b+2;
}
 
void funk();
 
int main()
 {
    maxim a, b;
    
    a.daiwud();
    b.daiwud1();
    
    funk();
    
    
    return 0;
 }
 
void funk()
{
    maxim c;
    
    c.daiwud1();
}

Почему третий метод funk(); затирает статическую переменную, если при вызове void maxim::daiwud1() стоит условие b=b+2; ? То есть этот метод ничем не отлич. от b.daiwud1(); , а результат разный.

Сам код ничего не делает , я просто разбираюсь в логике. Помогите понять что не так Спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 09:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru