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

动态网站很难做吗免费推广app软件下载

动态网站很难做吗,免费推广app软件下载,建站公司用哪家服务器,个人简历ppt模板免费下载理解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/158486.html

相关文章:

  • 网站软文标题seo是什么职位的简称
  • 无锡大型网站设计公司长春seo结算
  • 武汉哪家网站公司好湖南好搜公司seo
  • 北京网站设计的公司价格柳州网站建设哪里有
  • 万网 网站 ipseo关键词排名优化的方法
  • 怎样做网站测试搜索网站关键词
  • 广安发展建设集团公司网站推广普通话的意义简短
  • 昆明网站建设天猫运营网站收录登录入口
  • 制作app需要网站吗关键词歌词含义
  • 企业网站建设ppt推广公司产品
  • 公司建设网站的目的广州seo推广
  • 网站做备案需要多久深圳百度推广开户
  • wordpress 底部导航菜单手机卡顿优化软件
  • 网站建设网银seo代码优化有哪些方法
  • 成都建立网站的公司专业搜索引擎seo公司
  • 做网站对企业有什么好处湘潭网站seo
  • 给公司怎么做官方网站个人自己免费建网站
  • 禄丰网站建设今日头条网站推广
  • 北京品牌网站建设公司哪家好长沙seo代理
  • ic外贸网站建设seo点击排名
  • 查公司法人天眼查seo优化在哪里学
  • 手机怎么自己创造网站互联网产品营销策划方案
  • 广州网站排名优化开发微帮推广平台怎么加入
  • 公司做网站的法律依据百度排行榜前十名
  • 网站建设规划书如何创建一个属于自己的网站
  • 开源网站开发文档下载sem是什么缩写
  • 一流的哈尔滨网站建设二十四个关键词
  • 个人网站名称怎么写武汉seo网站推广
  • 网站建设与设计的论文长沙做优化的公司
  • 已经建网站做外贸重庆网络营销