当前位置: 首页 > wzjs >正文

哪种nas可以做网站服务器网站文章优化事项

哪种nas可以做网站服务器,网站文章优化事项,网站如何建设移动端,图片网站虚拟主机理解c中关键字友元friend的作用 friend 关键字在 C 中用于声明一个函数或类为另一个类的友元。 友元函数或友元类可以访问该类的私有(private)和保护(protected)成员。 友元函数 作用: 允许非成员函数访问私有成员&…

理解c++中关键字友元friend的作用

friend 关键字在 C++ 中用于声明一个函数或类为另一个类的友元。
友元函数或友元类可以访问该类的私有(private)和保护(protected)成员。

友元函数

作用:
允许非成员函数访问私有成员:
如果一个函数被声明为某个类的友元,它可以直接访问该类的私有(private)和保护成员(protected)

如果成员函数没有被声明为friend,则该函数体内无法访问类内私有成员

#include<iostream>
class MyClass {
private:int value;
public://默认构造函数MyClass(int v) : value(v){}//声明函数,没有用友元声明,这样该函数内无法访问类内私有成员void printValue(const MyClass& obj);
};//定义函数
void printValue(const MyClass &obj) {//该函数调用对象obj的私有成员value//由于该函数在声明时没有被friend修饰了,所以此函数体内无法访问类内私有成员std::cout<< "Value:"<< obj.value << std::endl;
}
int main() {MyClass obj(42);printValue(obj);return 0;
}


我们把printValue函数用friend声明,这样该函数体内就能访问类的私有成员了

#include<iostream>
class MyClass {
private:int value;
public://默认构造函数MyClass(int v) : value(v){}//声明友元函数friend void printValue(const MyClass& obj);
};//定义函数
void printValue(const MyClass &obj) {//该函数调用对象obj的私有成员value//由于该函数在声明时被friend修饰了,所以此函数体内可以访问类内私有成员std::cout<< "Value:"<< obj.value << std::endl;
}
int main() {MyClass obj(42);printValue(obj);return 0;
}

注意:
友元破坏了封装性,应谨慎使用。
友元关系是单向的,且不能传递。例如,A 是 B 的友元,但 B 不是 A 的友元。

友元类

#include <iostream>// 前向声明
class FriendClass;class MainClass {
private:int privateValue;public:MainClass(int value) : privateValue(value) {}// 声明FriendClass为友元类friend class FriendClass;void display() {std::cout << "MainClass的privateValue: " << privateValue << std::endl;}
};// 友元类
class FriendClass {
public:void accessPrivateData(const MainClass& obj) {// 可以直接访问MainClass的私有成员std::cout << "FriendClass访问MainClass的privateValue: " << obj.privateValue << std::endl;}void modifyPrivateData(MainClass& obj, int newValue) {// 可以修改MainClass的私有成员obj.privateValue = newValue;std::cout << "FriendClass修改了MainClass的privateValue为: " << obj.privateValue << std::endl;}
};int main() {MainClass mainObj(42);mainObj.display();FriendClass friendObj;friendObj.accessPrivateData(mainObj);friendObj.modifyPrivateData(mainObj, 100);mainObj.display();return 0;
}

这个例子中,MainClass通过friend class FriendClass;语句将FriendClass声明为友元类,因此FriendClass的所有成员函数都可以直接访问MainClass的私有成员privateValue。
注意,友元关系是单向的,FriendClass可以访问MainClass的私有成员,但MainClass不能访问FriendClass的私有成员。

http://www.dtcms.com/wzjs/801394.html

相关文章:

  • 源码屋整站源码贵阳专业做网站的公司
  • 制作网站要多少费用电子商务是坑人专业吗
  • 网站服务器维护方案怎么在拼多多上开网店卖东西
  • 网站开发的基本流程文库企业信用网
  • 怎样做后端数据传输前端的网站网页设计相关的网站
  • 如何建设网站建筑智库免费网站
  • 建设虚拟网站贸易公司网站建设
  • 网站开发前台实训百度 wordpress react
  • 镇江网站制作网站建设多城市地方门户网站系统
  • 做百科专用参考链接的网站关于网站建设的小故事
  • 地产网站互动营销网站建设中期检查表怎么写
  • 网站在布局门窗厂家东莞网站建设
  • 北京城乡建设部网站安徽公共资源交易中心
  • html5网站建设报价企业为什么选择上市
  • 网站制作公司司网业服协同
  • 开淘宝店和自己做购物网站哪个好全球十大软件公司排名
  • vr网站开发wordpress 子夜面
  • 常用的建站工具有哪些网站建设的设计与实现
  • 网站建设期任务及总结凡科免费网站建设
  • 网站关键词密度查询锁定网站导航栏
  • 网站里的字体大小德阳建设局官方网站
  • 创意集团网站建设做南美生意做什么网站好
  • 站长工具ip查询黑帽seo优化推广
  • 手机网站关键词优化php网站开发前端
  • 深圳福田特价网站建设苏州本地网站
  • 搭建网站需要什么工具免费发群二维码的网站
  • 电子厂家网站建设海口网络公司网站建设
  • 申请网站建设费企业宣传片多少钱一分钟
  • 手机建站平台微点手赚网站自助建设
  • 如何查看网站的关键词网站建设高