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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Mr.Cu
0 / 0 / 0
Регистрация: 31.03.2011
Сообщений: 17
#1

Классы && С++ Отложение объявление на потом - C++

10.01.2013, 15:45. Просмотров 255. Ответов 4
Метки нет (Все метки)

У меня есть базовый класс (StudentDataBase) который я в дальнейшем хочу наследовать, но тут идёт привязка к Student fmog, как я могу объявить это, чтобы в дальнейшем заменить на допустим Teacher fmog, Help fmog? Необходимо это потому, что все методы этого класса используют node и я не могу в наследуемом классе объявить структуру отдельно - так как базовый класс использует node в методах.
Помогите, заранее благодарю.
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
class StudentDataBase 
{
 struct node
   {
       Student fmog;//Класс типо студент
       node* next;
   };
private:
   node*  head;
   node*  tail;
};
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2013, 15:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Классы && С++ Отложение объявление на потом (C++):

Ошибка: multiple definition of `void std::swap<A>(A&amp;, A&amp;) - C++
Хочу специализировать swap для своего класса. Получаю ошибку. Вот код:#ifndef A_H #define A_H #include &lt;string&gt; class A { ...

Почему friend ostrem& operator <<(ostream& outs, const Rational&); - invalid function declaration? - C++
Пытаюсь скомпилировать программу пишет friend ostrem&amp; operator &lt;&lt;(ostream&amp; outs, const Rational&amp;); - invalid function declaration. ...

В заштрихованную фигуру бросают точки с координатами x и y. Получить координаты первой точки не попавшей в эту область (фигура x*x+y*y<25&&x*x+y*y>=9& - C++
В заштрихованную фигуру бросают точки с координатами x и y. Получить координаты первой точки не попавшей в эту область (фигура...

ostream &operator<< (ostream &output, const Array &obj) - что означает эта строка? - C++
void Array::getArray() // вывод массива { for (int ix = 0; ix &lt; size; ix++) cout &lt;&lt; setw(5) &lt;&lt; ptr; // вывод элементов...

Порядок вычисления: операторы «|» и «||», «&» и «&&» - C++
В Java булевые операторы «|» и «||», и «&amp;» и «&amp;&amp;» отличаются друг от друга порядком вычеслений, а в C++ так же как и в Java или...

Friend ostream& operator<<(ostream& stream, CArr& obj); - C++
CArr.h #pragma once class CArr{ int* arr = nullptr; int size = 10; void swap(int *a, int *b); void swap(int &amp;a, int &amp;b); ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ForEveR
В астрале
Эксперт С++
7972 / 4734 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
10.01.2013, 15:48 #2
Mr.Cu, Шаблоны же. Или указатель на базовый класс.

C++
1
2
3
4
5
6
7
8
9
template<typename Entity>
class DataBase
{
   struct node
   {
       Entity fmog;
       node* next;
   }
};
0
Mr.Cu
0 / 0 / 0
Регистрация: 31.03.2011
Сообщений: 17
10.01.2013, 15:59  [ТС] #3
Цитата Сообщение от ForEveR Посмотреть сообщение
Mr.Cu, Шаблоны же. Или указатель на базовый класс.

C++
1
2
3
4
5
6
7
8
9
template<typename Entity>
class DataBase
{
   struct node
   {
       Entity fmog;
       node* next;
   }
};
Я слышал о шаблонах,спасибо, это идея!!! Сейчас попробую

Добавлено через 2 минуты
А как мне при наследовании указать чтобы шаблон Энити заменил на Student или допустим Test?

Добавлено через 5 минут
Цитата Сообщение от Mr.Cu Посмотреть сообщение
Я слышал о шаблонах,спасибо, это идея!!! Сейчас попробую

Добавлено через 2 минуты
А как мне при наследовании указать чтобы шаблон Энити заменил на Student или допустим Test?
C++ (Qt)
1
2
3
class test:DataBase<Student>
{
}
;
?
0
ForEveR
В астрале
Эксперт С++
7972 / 4734 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
10.01.2013, 16:00 #4
Mr.Cu, Верно
0
Mr.Cu
0 / 0 / 0
Регистрация: 31.03.2011
Сообщений: 17
10.01.2013, 16:15  [ТС] #5
А если я в наследуемом классе обращаюсь к методу базового класса шаблон уже будет заменён?

Добавлено через 9 минут
Спасибо всё работает
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2013, 16:15
Привет! Вот еще темы с ответами:

Выделение памяти для буффера, под std::istream& operator>>(std::istream &, String &) - C++
Добрый день. Как осуществляется выделения памяти под перегруженный оператор ввода данных в пользовательский тип? Ведь мы заранее не можем...

В программе объявлена переменная int x=1; определить значение выражения х>0 && x<1 ? 10/x : 10*x - C++
ответ уже известен, 10. Проблема в том что я не знаю каким образом он был получен.. а точнее какую функцию выполняет &quot;:&quot; здесь. просьба...

Нюансы синтаксиса: где, как и для чего используется && - C++
Когда применяется ссылка на ссылку? В STL есть классы, конструкторы которых принимают ссылку на ссылку. Попробовал понять для чего они...

Как проверить, принадлежит ли символ заданному диапазону m...n, кроме if (c <= n && c >= m) ? - C++
есть какая-нибудь более короткая запись для проверки, принадлежит ли символ заданному диапазону m...n, кроме if (c &lt;= n &amp;&amp; c &gt;= m) ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
10.01.2013, 16:15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru