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

О недоступности protected членов в производном классе - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сортировка контейнера list http://www.cyberforum.ru/cpp-beginners/thread954337.html
Как отсортировать (с помощью sort()) и вывести в текстовый документ список l ? код программы: #include <iostream.h> #include <vector> #include <algorithm> #include <list> #include <math.h> class Tcity { public: float x,y;
C++ Задача на цикл. Найти сумму целых положительных чисел, кратных 3 и меньших 200 Правильно ли я виполниз задачу? Найти сумму целых положительных чисел, кратных 3 и меньших 200. #include <iostream> #include <cmath> using std::cin; using std::cout; int main() { int s =0; for (int n=1; n<200; n=n+3) http://www.cyberforum.ru/cpp-beginners/thread954331.html
C++ ошибка в c++
#include "stdafx.h" #include <conio.h> #include <stdio.h> int main() { int d,p2; float p1,p3,yo,yor; d=1; p1=3.7; p2=-1;
C++ Считать строку с файла
Как считать строку с файла до определенного символа?? П.с. а строки в файлах не имеют случайно в конце "терминального нуля" (что бы ориентироваться на конец строки) ?
C++ Почему не выполняется цикл? http://www.cyberforum.ru/cpp-beginners/thread954312.html
Здравствуйте. Вот код: int main() { vector <Book> books; Book item = Book(); bool flag = true; char ans = 'y'; int cnt = 0;
C++ Перевод из C в С++ Здравствуйте, я делал проект в C, но вдруг требования поменялись, и теперь я должен перевести его в C++. Есть ли какой-нибудь простенький способ, если нет, то прошу приложить какую-нибудь литературу по данной теме... подробнее

Показать сообщение отдельно
CatsCanFly
0 / 0 / 0
Регистрация: 14.04.2013
Сообщений: 21

О недоступности protected членов в производном классе - C++

14.09.2013, 16:25. Просмотров 238. Ответов 0
Метки (Все метки)

Здравствуйте. Столкнулся с неожиданной проблемой: В методах производного класса недоступны protected члены базового. Код который прилагаю по быстрому накидал для примера, что бы не выкладывать довольно большой листинг того, где я с этим столкнулся, здесь проблема такая же возникает:
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
template <class Val> class CContainer
{
public:
    typedef Val element;
protected:
    element* array;
    ptrdiff_t size;
public:
    CContainer(ptrdiff_t init_size) : size(init_size)
    {
        this->array = new element[size];
    }
};
 
template <class Val> class CChildcontainer : public CContainer<Val>
{
public:
    CChildcontainer (ptrdiff_t init_size) : CContainer(init_size)
    {
 
    }
 
    element count()
    {
        return this->size;
    }
 
    element count(CContainer<element> cont)
    {
        return cont.size; //c2248??
    }
};
При попытке вызвать второй перегруженный метод CChildcontainer.count VC++ выдает ошибку C2248 - о невозможности обратиться к protected член, обхявленому в CContainer<Val>. В чем моя ошибка? Неужели ради такого мне надо в базовом классе все члены делать public??
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru