Существует ли синтаксис для подруги только определенные специализации шаблонного класса, или вам нужно дружить со всеми специализациями с такими, как: < /p>
template friend class Bar;
< /code>
Если он существовал, я бы искал что -то вроде: < /p>
template friend class Bar;
< /code>
Похоже, что специализации имеют свою собственную «дружелюбную» личность, потому что они не друзья друг друга по умолчанию. Например, getfoo () < /code> здесь не может быть вызван неконфектным случаем, полученным из специализации Const, потому что он частное: < /p>
template class Bar;
template
class Bar {
public:
Bar (std::string name) : _foo (name) { }
FooType const * operator->() const
{ return &getFoo(); }
private:
FooType const & getFoo() const
{ return _foo; }
private:
FooType _foo;
};
template
class Bar : public Bar {
public:
Bar (std::string name) : Bar (name) { }
FooType * operator->()
{ return &getFoo(); }
private:
FooType & getFoo()
{ return const_cast(Bar::getFoo()); }
};
Вы должны добавить шаблон bar bar; к специализации Const. 'Friend' "> друг смеш.)
Существует ли синтаксис для подруги только определенные специализации шаблонного класса, или вам нужно дружить со всеми специализациями с такими, как: < /p>
[code]template friend class Bar; < /code>
Если он существовал, я бы искал что -то вроде: < /p>
template friend class Bar; < /code>
Похоже, что специализации имеют свою собственную «дружелюбную» личность, потому что они не друзья друг друга по умолчанию. Например, getfoo () < /code> здесь не может быть вызван неконфектным случаем, полученным из специализации Const, потому что он частное: < /p>
Как мне объявить LinkedList классом узла друга? Я не знаю, как это сделать, пробовал разные способы, но я не понимаю, потому что это класс шаблонов.
#include
У меня есть шаблон класса, который принимает std :: ray как параметр. Я хочу иметь возможность преобразовать объекты одного экземпляра шаблона в другой экземпляр шаблона. Чтобы выполнить работу по вычету шаблона, а не сталкиваться с конструктором...
У меня есть шаблон класса, который принимает std :: ray как параметр. Я хочу иметь возможность преобразовать объекты одного экземпляра шаблона в другой экземпляр шаблона. Чтобы выполнить работу по вычету шаблона, а не сталкиваться с конструктором...