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

Глобальные static переменные - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Массив. Работа со строчками и столбцами. Деление на выбрвнную строчку http://www.cyberforum.ru/cpp-beginners/thread608093.html
Доброго времени суток всем!!Помогите ,п-та!Я в тупике. #include <iostream> using namespace std; int main () { int n, k, st,sv ; int i = 0, j = 0; double **mas;
C++ Расчет количество дней прожитых со дня рождения Сабж. Может есть у кого исходный код который рассчитывает количество прожитых дней со дня рождения(сегодняшний день и день рождения офк подаются как входные данные)? желательно с помощью ООП http://www.cyberforum.ru/cpp-beginners/thread608077.html
С + + и Visual C + + и чем они отличаются? Есть ли их изучение взаимно дополняющее или это совсем разные языки? C++
Просветите убогого =)
Где деструкторы? C++
Ребят сижу разбираю код на С++,не могу понять где диструктор тут.. #include <vcl.h> #pragma hdrstop #include "Unit1.h" #include "math.h" #pragma package(smart_init) #pragma resource "*.dfm" //---------------------------------------------------------------------------
C++ Явное преобразование типов http://www.cyberforum.ru/cpp-beginners/thread608044.html
class CLSObj { void abc(int d){ ... } ... }; int main() { char *p; CLSObj obj;
C++ как count endl заменить на printf ? Всем добрый вечер , есть одна программа , там встречаются строчки . Собственно вопрос , как будут выглядеть эти строчки с использованием printf . cout << "х" << i << "=" << xn << endl; i++; cout << "x" << i << "=" << xk << endl; i++; } подробнее

Показать сообщение отдельно
ASTREL
9 / 9 / 2
Регистрация: 07.12.2010
Сообщений: 53
18.06.2012, 00:48     Глобальные static переменные
main.h
C++
1
2
3
4
5
6
7
class Test
{
public:
    void test();
};
 
static int x;
test.cpp
C++
1
2
3
4
5
6
#include "main.h"
 
void Test::test()
{
    x = 2;
}
main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include "main.h"
#include <iostream>
 
using namespace std;
 
void main()
{
    cout<<x<<endl;
    Test t;
    t.test();
    cout<<x<<endl;
}
В данном случае вывод будет 0 0.

-----------------------------------------------
А вот если убрать test.cpp и перенести функцию в main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "main.h"
#include <iostream>
 
using namespace std;
 
void Test::test()
{
    x = 2;
}
 
void main()
{
    cout<<x<<endl;
    Test t;
    t.test();
    cout<<x<<endl;
}
Тогда вывод 0 2 как и ожидалось.

В чем загвоздка? Как получить те же 0 2, если использовать модель разбития кода как в первом примере?

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