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

базовый и производный класс, в базовом объявлена переменная "protected", она недоступна по имени в производном классе! template <class T> воду мутит! - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Выполнить обработку текста http://www.cyberforum.ru/cpp-beginners/thread318495.html
Друзья, помогите пожалуйста: Выполнить обработку текста из внешнего текстового файла, созданного в редакторе. Результаты обработки поместить во внешний файл.Определить количество слов в каждой...
C++ Оверлейные функции Оверлейные функции - это какие? http://www.cyberforum.ru/cpp-beginners/thread318459.html
C++ Вывод на экран точки белого цвета
Вопрос состоит из 3 вопросов. 1. напишите код на С который выводит белую точку. 2. как работает функция printf так что она выводит именно на ЭКРАН. 3. опишите вкратце как управлять с помощью С...
C++ Упорядочивание элементов массива
Постановка задачи. Разработать программу, которая вводит целочисленную матрицу из n строк и m столбцов (1<n<=100, 1<m<=50) и упорядочивает элементы матрицы. Правило упорядочивания определяется...
C++ Массивы http://www.cyberforum.ru/cpp-beginners/thread318415.html
Дан массив ненулевых целых чисел размера N. Проверить, образуют ли его элементы геометрическую прогрессию (см. задание Array4). Если образуют, то вывести знаменатель прогрессии, если нет — вывести 0....
C++ Синтаксический анализ Много кто берётся но мало кто доводит до конца эту тему... Я написал класс Expression смысл которого сводится к тому, чтобы вычислить значение математического выражения переданного в виде string либо... подробнее

Показать сообщение отдельно
schdub
2946 / 1291 / 238
Регистрация: 19.01.2009
Сообщений: 3,395
Завершенные тесты: 1
13.06.2011, 13:36
Цитата Сообщение от kravam Посмотреть сообщение
schdub, тут не ошибка?
нет.

вот классический пример:
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
#include <iostream>
 
int foo;
 
template <typename T> class Base {
public:
    int foo;
};
 
template <typename T> class Derived : public Base<T> {
public:
    int get_foo () const {
        return foo;
    }
};
 
int main() {
 
    foo = 666;
 
    Derived<int> h;
    h.foo = 999;
 
    std::cout << h.get_foo() << std::endl;
    return 0;
}
Программа напечатает значение переменной foo из глобальной области видимости.


теперь меняем реализацию get_foo() на:
C++
1
2
3
    int get_foo () const {
        return this->foo;
    }
И в выводе получаем то что ожидали .
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru