21xrx.com
2024-12-22 17:23:10 Sunday
登录
文章检索 我的文章 写文章
C++友元类代码实例
2023-07-02 12:57:28 深夜i     --     --
C++ 友元类 代码实例

C++是一种面向对象编程语言,友元是其中一个重要的概念。友元可以让其他类或函数访问类的私有成员,从而实现更灵活的编程。下面是一个C++友元类的代码实例。

首先,我们定义一个类A,其中包含一个私有成员变量x。


class A {

private:

  int x;

public:

  A(int value) : x(value) {}

  friend class B;

};

在这里,我们使用friend关键字声明了类B为A的友元类。

接下来,我们定义友元类B。


class B {

private:

  int y;

public:

  B() : y(0) {}

  void setX(A& a, int value)

    a.x = value;

  

  int getX(A& a)

    return a.x;

  

};

在类B中,我们定义了两个函数setX和getX,这些函数可以访问A类的私有成员x。setX函数可以设置A类的x成员的值,而getX函数则可以获取x成员的值。

现在,我们可以在主函数中测试这些友元函数。


int main() {

  A a(5);

  B b;

  cout << "a.x before setX: " << a.x << endl;

  b.setX(a, 10);

  cout << "a.x after setX: " << a.x << endl;

  cout << "a.x from getX: " << b.getX(a) << endl;

  return 0;

}

在这里,我们首先创建了一个A类的对象a,并将其初始值设为5。然后,我们创建了一个B类的对象b,通过setX函数将a的x成员的值设置为10,并使用getX函数获取x成员的值,最后输出结果。

通过这个例子,我们可以看到,友元类可以让其他类或函数访问类的私有成员,从而实现更灵活的编程。但是,在实际应用中,我们应该避免过度使用友元类,而是通过封装和继承等方式实现代码的安全性和可读性。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复