Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

c++ friend class

作者:风外听竹   发布日期:2025-10-26   浏览:86

// 定义两个类 A 和 B,其中 B 是 A 的友元类

#include <iostream>
using namespace std;

class B;  // 前向声明

class A {
private:
    int value;
public:
    A(int v) : value(v) {}

    // 声明类 B 为类 A 的友元类
    friend class B;
};

class B {
public:
    void printValue(A& a) {
        // 由于 B 是 A 的友元类,所以可以访问 A 的私有成员
        cout << "Value in A: " << a.value << endl;
    }
};

int main() {
    A a(10);
    B b;
    b.printValue(a);  // 输出: Value in A: 10
    return 0;
}

解释说明:

  • class A 中有一个私有成员 value
  • class B 被声明为 class A 的友元类 (friend class B),因此 B 可以访问 A 的所有私有和保护成员。
  • class B 中的 printValue 函数中,可以直接访问 A 对象的私有成员 value
  • 这种机制允许不同类之间的紧密协作,但要谨慎使用,因为过度使用友元类可能会破坏封装性。

上一篇:c++优先队列用法

下一篇:new在c++语言中的意思

大家都在看

c++闭包

c++单引号和双引号的区别

c++ 注释

c++如何判断素数

c++格式化字符串

c++ orm框架

队列c++

c++freopen怎么用

进制转换c++代码

c++ 获取系统时间

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站