C++ 传递给共享库(c+;+;)的模板函数
一个小小的思想实验。。。成分1:(预编译)共享库中的一个类,该库具有一个函数,该函数获取指向从ostream派生的对象的指针:C++ 传递给共享库(c+;+;)的模板函数,c++,function,templates,shared,C++,Function,Templates,Shared,一个小小的思想实验。。。成分1:(预编译)共享库中的一个类,该库具有一个函数,该函数获取指向从ostream派生的对象的指针: void ClassName::SetDefaultStream(std::ostream *stream) 成分2: 我自己的类派生自std::ostream,带有一些通用模板流操作符: class MyStream : public std::ostream { public: template <typename T> MyStre
void ClassName::SetDefaultStream(std::ostream *stream)
成分2:
我自己的类派生自std::ostream,带有一些通用模板流操作符:
class MyStream : public std::ostream
{
public:
template <typename T> MyStream &operator<<(const T &data)
{
std::cout << data;
return *this;
}
}
classmystream:public std::ostream
{
公众:
模板MyStream&operator您的模板成员在库中不可见,因为它不是基本std::ostream的虚拟成员。不会发生任何问题。它将编译,但不会调用您的操作符