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

前端网站开发研究报告淄博网站营销与推广

前端网站开发研究报告,淄博网站营销与推广,WordPress选号源码,顺德做网站的公司哪家好友元的目的就是让一个函数或类访问另一个函数中的私有成员 友元函数 (1)普通函数作为友元函数 class 类名{friend 函数返回值类型 友元函数名(形参列表);//这个形参一般是此类的对象.... } 经过以上操作后,友元函数就可以访问此类中的私有…

友元的目的就是让一个函数或类访问另一个函数中的私有成员

友元函数

(1)普通函数作为友元函数

class 类名{friend 函数返回值类型 友元函数名(形参列表);//这个形参一般是此类的对象....
}

经过以上操作后,友元函数就可以访问此类中的私有成员了,下面举个例子

#include <iostream>
using namespace std;
#include <string>
class Person {friend int getMoney(Person& person);
public:string name;
private:int money;
public:Person(string name, int money);
};
Person::Person(string name, int money) {this->name = name;this->money = money;
}
int getMoney(Person &person) {return person.money;
}
int main() {Person person("张三", 10000);cout << getMoney(person) << endl;
}

其中声明了 int getMoney(Person &person)作为友元函数,访问了person类的私有成员money,本例中,通过调用友元函数getMoney访问张三的私有属性money。

普通函数作为友元函数访问了类中的私有成员,且具有修改私有成员的权限

#############################################

(2)其它类的成员函数作为友元函数

其它类中的成员函数作为本类的友元函数时,需要在本类中表明该函数的作用域,并添加友元函数所在类的前向声明,这个要稍微注意一下。

格式:

class B;  //A中的成员函数在类B中作为友元函数,要将B类声明在A类之前
class A{
public:int f();
}
class B{friend int A::f();//声明类A中的成员函数作为友元函数
}

这样A中的f()就可以访问B类中的所有成员,如下示例

class Car;
class Person {
public:string name;
public:Person(string name);void f(Car &car);
};
class Car {friend void Person::f(Car& car);//声明友元函数
public:string name;Car(string name, string keyPassword);
private:string keyPassword;string getkeyPassword();
};
int main() {Car car("大众", "235fkw");Person person("张三");person.f(car);
}

本例中Person类的f()函数在Car类中成为友元函数,f()访问了Car类的私有成员。

跟上面差不多没什么东西,照葫芦画瓢就行了,记住:友元的目的就是让一个函数或类访问另一个函数中的私有成员,再注意下格式就ok了。

#############################################

友元类

友元类可以声明在友元类之后,友元类中的所有成员函数都是该类的友元函数,能够访问该类的所有成员

格式:

class B;
class A{};
classs B{friend class A;
}

示例也差不多,就不制作学术垃圾了。。。

class Car;
class Person {
public:string name;
public:Person(string name);void f(Car &car);
};
class Car {friend class Person;
public:string name;Car(string name, string keyPassword);
private:string keyPassword;string getkeyPassword();
};

最后,使用友元应注意的几个问题

(1)友元声明位置由程序设计者自行决定,且不受类中public,private,protected权限控制符的影响

(2)友元关系是单向的,即类A是类B的友元,但B不是A的友元

(3)友元关系不具有传递性,即类A是类B的友元,类C是类A的友元,但类C不是类A的友元

(4)友元关系不能被继承

http://www.fp688.cn/news/145726.html

相关文章:

  • 如何做网站写手太原seo排名
  • 做彩平图的素材那个网站有长春seo招聘
  • 做一些网站犯法么网站搭建源码
  • 楚雄企业网站建设公司北京seo包年
  • 上海外贸soho网站建设sem优化
  • 抖音小程序推广码怎么获得安卓优化大师清理
  • 做网站余姚清理大师
  • 重庆建设工程造价管理seo品牌优化整站优化
  • 设计师做帆布包网站长沙百度快速优化
  • 辽源做网站企业培训课程视频
  • 个人网站备案备注b站推广入口在哪
  • 怎么做qq业务网站招商外包
  • 青岛营销型网站制作宁波seo推广推荐公司
  • java做项目的网站北京百度网站排名优化
  • 北京网站开发建设网站怎么创建
  • 网站里会自动换图怎么做北大青鸟
  • 学建设网站seo软件简单易排名稳定
  • 网站开发和网站建设广州seo学徒
  • 新加坡建设局网站培训机构咨询
  • seo免费网站建设策划品牌全案
  • 濮阳做网站多少钱网站是怎么做的
  • 制作快递网站哈尔滨最新信息
  • 网站开发报价文件北京网站优化方案
  • 建设政府门户网站公司网站推广技巧
  • 网站建设的七夕文案百度怎么发布广告
  • 网页网站开发助理seo服务指什么意思
  • 有什么好网站做浏览器主页市场调研方法有哪几种
  • 个人空间网站建设友好链接
  • 武汉cms建站网站移动端优化工具
  • 怎样360网站做推广合肥seo优化