#include <iostream>

template <typename T>
class C
{
public:
    explicit C(T data) : data_(data) {}
    friend std::ostream& operator<<(std::ostream& os, const C<T>& dt)
    {
        return os << dt.data_;
    }
private:
    T data_;
};

int main()
{
    C<int> der(234);
    std::cout << der;
}
