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

внук родительского класса не может работать с полями дедовского класса; почему? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Работа со стеком http://www.cyberforum.ru/cpp-beginners/thread313836.html
Используя стек, проверить, является ли содержимое текстового файла правильной записью формулы следущего вида: <формула>::=<цифра>|(<формула><знак><формула>) <знак>::=+|-|* <имя>::=x | y |z <цифра>::=0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 совсем не умею работать со стеком, поэтому очень надеюсь на вашу помощь.
C++ Подсчитать количество строк Доброго времени суток! Дано задание: В текстовом файле подсчитать количество строк, которые начинаются и оканчиваются одной и той же буквой,вывести эти строки и их количество в новый файл. Я написала код программы по образцу (тк сама только учусь программированию), но эта программа не работает... Подскажите пожалуйста какие ошибки я допустила и как лучше сделать. Заранее спасибо!) void... http://www.cyberforum.ru/cpp-beginners/thread313831.html
Нахождение в структуре одинаковых элементов C++
Задача довольно простая, не получается одна вещь - не знаю, чего то не до пру.. Сама задача: вводим структуру из 3 элементов Автор, книга, год - таких авторов с книгами тоже 3. Как только ввели ищем по названию книги Информатика - ищет, находит. Вопрос: как мне вывести если в структуре два автора которые написали книгу с названием информатика - если такие есть надо вывести обоих и сколько...
C++ Run-Time Check Failure #2 - Stack around the variable 'a' was corrupted
Добрый день подскажите что это означает и как исправить данное сообщение Run-Time Check Failure #2 - Stack around the variable 'a' was corrupted #include <iostream> #include <locale> #include <math.h> using namespace std; //double calc (double r1, double r2,int i) //{
C++ Разработать программу, которая выводит, например, на экран следующую таблицу из введенных данных http://www.cyberforum.ru/cpp-beginners/thread313759.html
Примерное задание Разработать программу, которая выводит, например, на экран следующую таблицу из введенных данных:
C++ Защита от дураков В функцию добавления, нужно добавить защиту от дураков: void Newadd() { Abbase z2; system ("cls"); cout <<"Abbase 0.51 final"<<endl; cout <<"\n"<<endl; fstream fout("base.txt", ios::app); cout <<"Табельный номер:\n-> "; подробнее

Показать сообщение отдельно
kravam
быдлокодер
 Аватар для kravam
1513 / 873 / 44
Регистрация: 04.06.2008
Сообщений: 5,304

внук родительского класса не может работать с полями дедовского класса; почему? - C++

05.06.2011, 23:16. Просмотров 619. Ответов 6
Метки (Все метки)

Не всё так просто на самом деле. Непонятно, какую роль во всём этом играют шаблоны. Но к делу. Вот код:
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
class base {
 public:
 base (){};
 public:
  int g;
};
 
 
template <class T>
class sinn: public base {
 public:
  sinn () {};
};
 
 
template <class T>
class vnuk: public sinn<T> {
 public:
  vnuk () {};
  void vnuk_ () {g= 8;};
};
 
int main() {
}
Так, компилятор говорит, что он впервые видит переменную g; не помогает и:
C++
1
base::g= 8;
При чём обратите внимание, переменная g объявлена как public!
Ладно, а теперь я даже не знаю, в какую сторону и копать. Убираем все упоминания о шаблонах:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class base {
 public:
 base (){};
 protected:
  int g;
};
 
 
class sinn: public base {
 public:
  sinn () {};
};
 
 
class vnuk: public sinn {
 public:
  vnuk () {};
  void vnuk_ () {g= 8;};
};
 
 
int main() {
}
...Всё компилится. При чём g теперь protected
В общем, ребята, мне нужно, чтобы скомпилилось именго с шаблоами, а какое отношение они имеют к g я ума не приложу, спасибо заранее.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru