在类模板中使用友元函数允许外部函数访问私有成员。步骤:声明友元函数:在类模板中使用 \"friend\" 关键字。定义友元函数:使用类模板的类型参数,使其适用于所有类型。使用友元函数:像调用普通成员函数一样调用友元函数。
在类模板中使用友元函数
在类模板中使用友元函数允许外部函数访问类模板的私有成员。以下是如何在类模板中声明和使用友元函数:
#include <iostream> template <typename T> class MyClass { private: T data; public: // 声明友元函数 friend void print(const MyClass<T>& object); // 成员函数 void set_data(const T& value) { data = value; } }; // 友元函数定义 template <typename T> void print(const MyClass<T>& object) { std::cout << "Data: " << object.data << std::endl; } int main() { MyClass<int> obj; obj.set_data(10); print(obj); // 调用友元函数 MyClass<std::string> strObj; strObj.set_data("Hello!"); print(strObj); // 调用友元函数 return 0; }
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。