小编use*_*474的帖子

限制多个模板参数友元函数可访问的类实例的范围

我想知道我的目标是否可行.

我有一个类Class

#include<iostream>

template<class T> class Class;
template<class T, class W> Class<W> f(Class<T>& C, const Class<T>& D);

template<class T> class Class {
protected: // this could be private
    T m_t;
public:
    Class(): m_t(T()) {}
    Class(T t): m_t(t) {}
    T& getT() { return m_t; }
    template<class U, class W> friend Class<W> f(Class<U>& C, const Class<U>& D);
};

template<class T, class W> Class<W> f(Class<T>& C, const Class<T>& D)
{
    C.m_t += D.m_t;
    Class<W> R;
    std::cout << R.m_t << std::endl; // I don't …
Run Code Online (Sandbox Code Playgroud)

c++ templates friend friend-function c++14

6
推荐指数
1
解决办法
157
查看次数

标签 统计

c++ ×1

c++14 ×1

friend ×1

friend-function ×1

templates ×1