嵌入式c++学习全局 友元
Posted 文某9
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了嵌入式c++学习全局 友元相关的知识,希望对你有一定的参考价值。
## 友元语法和使用,具体全在代码注释里边
//可以通过一个类创建多个类
class Building;
/*
创建了一个good类型
写了两个自定义函数,一个构造函数
写了一个指针,这就是这个类的全部理解
*/
class GoodGay//我的朋友
public:
void visit();//访问公共和私有属性
void visit2();//不能访问
GoodGay();
Building * building;//类指针
;
/*
创建了一个buil类型
写了一个good类下边的visit函数为友元
在公共权限下写了两个字符串类型的变量a,b
写了一个building的无参构造
写了一个保护权限下的字符串c
这就是这个类的全部东西
*/
class Building//我的家
friend void GoodGay::visit();
public:
string a,b;
Building();
private:
string c;
;
//building构造函数类外实现类的属性赋初值
Building::Building()
a="张三";
b="李四";
c="王五";
//good构造函数 里边的地址在堆区重新申请了一块building类的数据,无论类在哪,只要创建对象都会调用类的构造
GoodGay::GoodGay()
building=new Building;
;
//good下的visit类外实现,成功访问了buil类的共有和私有的数据,因为在buid里定义了visit做为友元
void GoodGay::visit()
cout<<"正在访问公共类型"<<building->a<<endl;
cout<<"正在访问私有类型"<<building->c<<endl;
;
//good下的visit类外实现,未成功访问buil类的共有和私有的数据,因为在buid里定义了visit做为友元
void GoodGay::visit2()
cout<<"正在访问公共类型"<<building->a<<endl;
//cout<<"正在访问私有类型"<<building->c<<endl;
;
/*
创建了一个good类对象
对象会调用类的构造函数即GoodGay::GoodGay(),在good构造函数里边new了buil类,所以也会调用这个类的构造函数
打印输出visit访问的私有公有的数据
*/
int main()
GoodGay gg;
gg.visit();
system("pause");
return 0;
以上是关于嵌入式c++学习全局 友元的主要内容,如果未能解决你的问题,请参考以下文章
C++笔记--面向对象(OOP)编程基础--操作符重载及友元