成员函数做友元函数
2021/8/21 23:36:23
本文主要是介绍成员函数做友元函数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
成员函数做友元函数
#define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <string> using namespace std; //只让Visit可以作为友元函数 Visit2不可以 class House; //先声明,防止报错 class GoodGay { public: GoodGay(); //类内声明 void Visit(); //类内声明 void Visit2(); //类内声明 House * h; }; class House { friend void GoodGay::Visit(); //成员函数作为友元函数,要加上作用域 public: House(); //类内声明 string m_SittingRoom; private: string m_BedRoom; }; GoodGay::GoodGay() // 类外实现构造函数 好基友类的构造函数,创建House对象 { this->h = new House; } void GoodGay::Visit() //类外实现成员函数 注意 返回值要与声明的一致 { cout << "好基友正在访问:" << this->h->m_SittingRoom << endl; cout << "好基友正在访问:" << this->h->m_BedRoom << endl; } void GoodGay::Visit2() //类外实现成员函数 注意 返回值要与声明的一致 { cout << "好基友正在访问:" << this->h->m_SittingRoom << endl; cout << "好基友正在访问:" << this->h->m_BedRoom << endl; //error } House::House() { this->m_SittingRoom = "客厅"; this->m_BedRoom = "卧室"; } int main() { system("Pause"); //阻塞功能 return EXIT_SUCCESS; // 返回正常退出 }
只有Visit能访问私有属性
这篇关于成员函数做友元函数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-27消息中间件底层原理资料详解
- 2024-11-27RocketMQ底层原理资料详解:新手入门教程
- 2024-11-27MQ底层原理资料详解:新手入门教程
- 2024-11-27MQ项目开发资料入门教程
- 2024-11-27RocketMQ源码资料详解:新手入门教程
- 2024-11-27本地多文件上传简易教程
- 2024-11-26消息中间件源码剖析教程
- 2024-11-26JAVA语音识别项目资料的收集与应用
- 2024-11-26Java语音识别项目资料:入门级教程与实战指南
- 2024-11-26SpringAI:Java 开发的智能新利器