Проблема с защищенными полями в базовом классе в C++

Поскольку ДОБИРАЕТСЯ, просто URL, они могут кэшироваться веб-браузером и могут лучше использоваться для вещей как последовательно сгенерированные изображения. (Установите время Истечения)

Один пример от страницы граватара: http://www.gravatar.com/avatar/4c3be63a4c2f539b013787725dfce802?d=monsterid

ДОБИРАЕТСЯ, может привести к незначительно лучшей производительности, некоторые веб-серверы пишут содержание POST во временный файл прежде, чем вызвать обработчик.

Другой вещью рассмотреть является предел размера. ДОБИРАЕТСЯ ограничиваются размером URL, 1 024 байта по стандарту, хотя браузеры могут поддерживать больше.

Передача большего количества данных, чем это должна использовать POST для получения лучшей совместимости браузера.

Еще меньше, чем тот предел являются проблемой, как другой плакат записал, что-либо в URL могло закончиться в других частях UI brower, как история.

6
задан derrdji 28 November 2009 в 20:18
поделиться

2 ответа

Если BassClass (sic) и DerivedClass являются шаблонами, а член BassClass , к которому вы хотите получить доступ из DerivedClass не указан как зависимое имя, он не будет виден.

Например,

template <typename T> class BaseClass {
protected: 
    int value;
};

template <typename T> class DerivedClass : public BaseClass<T> {
public:
    int get_value() {return value;} // ERROR: value is not a dependent name
};

Чтобы получить доступ, вам необходимо предоставить дополнительную информацию. Например, вы можете полностью указать имя члена:

    int get_value() {return BaseClass<T>::value;}

Или вы можете явно указать, что вы имеете в виду член класса:

    int get_value() {return this->value;}
11
ответ дан 9 December 2019 в 22:36
поделиться

Это работает:

#include <iostream>

struct Base {
virtual void print () const = 0;
protected:
int val;
};

struct Derived : Base {
void print () { std::cout << "Bases's val: " << val << std::endl; }
};
0
ответ дан 9 December 2019 в 22:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: