免责声明

易百易数码科技

C++的friend关键字是怎么个用法?给个简单例子,c++成员函数做友元

C++的friend关键字是怎么个用法?给个简单例子

friend关键字是C++中的一种访问控制机制,它可以让定义在类外部的函数或其他类成员函数访问类中的私有数据成员和私有成员函数。简单来说,friend关键字就是为外部函数和类增加访问当前类的权限。

例如,在一个类中定义一个友元函数,该函数可以访问该类的私有成员,比如:

C++的friend关键字是怎么个用法?给个简单例子,c++成员函数做友元-图1

class MyClass {

private:

int x;

C++的friend关键字是怎么个用法?给个简单例子,c++成员函数做友元-图2

public:

friend void friendFunction(MyClass &obj);

};

C++的friend关键字是怎么个用法?给个简单例子,c++成员函数做友元-图3

void friendFunction(MyClass &obj) {

obj.x = 10;

在 C++ 中,`friend` 是一种重要的关键字,可以用于类的设计和实现。其作用是允许某些类或函数访问另一个类中的私有成员。具体来说,`friend` 可以用于以下两种情况:

1. 允许其他类访问当前类中的私有成员。

2. 允许某个函数访问当前类中的私有成员。

这里给出一个简单的 `friend` 例子,展示了该关键字的使用。

```c++

#include<iostream>

using namespace std;

1. public: 程序的任何地方都可以访问.

2 protected: 只有类本身及其派生类和其友元函数,友元类可以访问.

3 private: 只有类本身及其友元函数,友元类可以访问.

4 friend: 用于定义友元函数友元类. 在类里声明的一个普通函数,在前面加上friend修饰符,这个函数就可以访问该类的一切成员,包括private成员.

1、当在类的内部使用这三个关键字,表示访问权限:

public: 可以被任意访问。

protected: 只允许子类和本类的成员函数访问。

private: 只允许本类的成员函数访问。

friend有两个用法,一个友元函数,一个友元类。


#include <iostream>

class B;

class A

{

public:

A() : _a(0) {}

C++ 扩展方法

C++的 扩展方法包括使用类和函数模板,使用继承和多态,使用抽象类和接口,使用运算符重载,使用异常处理,使用命名空间,使用静态成员变量和函数,使用内联函数,使用友元函数,使用智能指针,使用STL容器,使用lambda表达式,使用模板元编程,使用C++11新特性等。

扩展方法是C# 3.0引入的新特性,可以让你在类型上增加行为,而不需要去改变原有的类型定义。通过定义静态扩展方法,你可以很轻松像使用原有类型定义里定义的一样调用自定义定义的方法。

C++中private和public的区别

在C++中,`private`和`public`是访问修饰符,它们决定了类成员的访问权限。
1. `private`:私有成员只能由该类本身访问,包括成员函数和变量。即使类的对象也无法直接访问私有成员。这是最严格的访问控制。
2. `public`:公有成员可以被该类本身和所有子类以及对象访问。这是默认的访问修饰符,如果一个成员没有指定访问修饰符,那么它就是公有的。
这两种访问修饰符都是面向对象编程中封装的重要组成部分,帮助实现代码的安全性和稳定性。

到此,以上就是小编对于c++成员函数做友元的问题就介绍到这了,希望介绍的3点解答对大家有用,有任何问题和不懂的,欢迎各位老师在评论区讨论,给我留言。

分享:
扫描分享到社交APP
上一篇
下一篇