在 C 中,友元函数可以访问类的所有公共、受保护和私有成员,但私有成员的访问受限,只能在类的成员函数调用时进行。
什么是友元函数?
友元函数是 C 中一种特殊的函数,它可以访问一个类的 private 和 protected 成员。友元函数的声明必须在类定义的外部。
友元函数可以访问的类型成员
友元函数可以访问以下类型成员:
实战案例
考虑以下代码:
class MyClass { private: int m_num; public: MyClass(int num) : m_num(num) {} friend void print_num(MyClass& obj) { std::cout << obj.m_num << std::endl; } }; int main() { MyClass obj(42); print_num(obj); // 友元函数访问私有成员 return 0; }
输出结果:
42
在这个例子中,print_num() 是 MyClass 的一个友元函数。它可以访问私有成员 m_num,即使它不是 MyClass 的成员函数。
受限访问
需要注意的是,友元函数对 private 成员的访问受到限制。友元函数只能在该类的成员函数调用时访问 private 成员。也就是说,友元函数不能直接从外部访问 private 成员。
以上是C++ 友元函数能访问哪些类型成员?的详细内容。更多信息请关注PHP中文网其他相关文章!