Параметр шаблона указателя члена, указывающий на шаблонируемый объект.C++

Программы на C++. Форум разработчиков
Anonymous
Параметр шаблона указателя члена, указывающий на шаблонируемый объект.

Сообщение Anonymous »

Мне хотелось бы иметь базовый класс, на основе которого я могу предложить механизм сериализации:

Код: Выделить всё

template 
class Serializable
{
public:
void Serialize();
};

template 
void Serializable::Serialize()
{
// accessing the member variable we're pointing to, to do stuff with it
}
Идея состоит в том, что если я унаследую Foo от Serializable, я смогу шаблонизировать его так, чтобы Foo::x использовался в качестве параметра шаблона. . Таким образом, когда я вызываю базовый Serialize, он знает, что нужно сериализовать элемент x из Foo. Итак, я смогу сделать что-то вроде:

Код: Выделить всё

class Foo : public Serializable // 

Подробнее здесь: [url]https://stackoverflow.com/questions/78757135/member-pointer-template-parameter-pointing-into-the-object-being-templated[/url]

Вернуться в «C++»