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

о связи классов и наследовании даты - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Динамическая память. Функции. Массивы .Объекты http://www.cyberforum.ru/cpp-beginners/thread641317.html
Всем привет. Возник следующий вопрос: 1.Когда в c++ из функции возвращается объект (экземпляр какого-то класса), то насколько мне известно, создается временный объект, для хранения результат и...
C++ Комплексные числа. Символическая форма записи Сейчас делаю реализацию класса. Что-то мне подсказывает, что есть ошибки. Тут больше вопрос по математике, в коей я практически ничего не понимаю. Кто в теме, просмотрите перегрузку арифметических... http://www.cyberforum.ru/cpp-beginners/thread641316.html
C++ : error C2065: 'remainder' : undeclared identifier
Доброй ночи, вот изучаю Microsoft Visual Studio 2008 и в примере выскакивает данная ошибка(: error C2065: 'remainder' : undeclared identifier) , я так понимаю что в коде не хватает библиотеки только...
Массив: Все элементы массива, кратные трем, записать в одномерный массив. C++
Дан двумерный массив размером n x n? заполненный целыми числами. Все его элементы кратные трем, записать в одномерный массив.
C++ Ошибки в коде http://www.cyberforum.ru/cpp-beginners/thread641297.html
Изучаю ООП с++ по книге Р.Лафоре. Как было написано в книге ввел код: #include <iostream> USING NAMESPACE STD; INT MAIN() { COUT << "Ó ÊÀÆÄÎÉ ÝÏÎÕÈ ÑÂÎÉ...
C++ Замена файла [c++] void zam(LPCTSTR FILE,LPCTSTR LIFILE) { //Сюда надо вставить код который заменяет файл FILE на этот LIFILE //CopyFile не предлагать! } подробнее

Показать сообщение отдельно
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
24.08.2012, 22: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
class base
{
public:
    static int a;
};
int base::a = 0;
 
class derived:public base
{
public:
    int b;
};
 
void main()
{
    base base1;
    base1.a = 15;
    std::cout << base1.a << std::endl;
 
    base base2;
    std::cout << base2.a << std::endl;//выведет 15
 
    derived derived1;
    std::cout << derived1.a << std::endl;//выведет 15
 
    derived derived2;
    std::cout << derived2.a << std::endl;//выведет 15
 
    derived2.a = 42;
    std::cout << base1.a << std::endl;//выведет 42
    std::cout << base2.a << std::endl;//выведет 42
    std::cout << derived1.a << std::endl;//выведет 42
    std::cout << derived2.a << std::endl;//выведет 42
    system("pause");
    return;
}
но будьте внимательны с эффектом - изменение значения static переменной меняет ее значение везде.
Второй вариант - глобальная переменная base.
Но лучше всего сделать тот констуктор, который предлагался ранее.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru