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

友元c++

#include <iostream>
#include <string>

using namespace std;
class Lovers//爱人关系,基类
{
public:
    Lovers(string theName);//
    void kiss(Lovers *lover);
    void ask(Lovers *lover, string something);

protected:
    string name;

    friend class Others; //祸根,交友不慎。。。。 (友元关系),则Others可以访问name
};

class Boyfriend:public Lovers//Boyfriend子类,继承Lovers基类
{
public:
    Boyfriend(string theName);
};
class Girlfriend:public Lovers//girlfriend子类,继承Lovers基类
{
public:
    Girlfriend(string theName);
};

class Others//Others类 ,并没继承Lovers基类
{
public:
    Others(string theName);
    void kiss(Lovers *lover);

protected:
    string name;
};

Lovers::Lovers(string theName)//Lovers类的构造函数
{
    name = theName;
}
void Lovers::kiss(Lovers *lover)//Lovers *lover表示定义Lovers类的一个对象*lover
{
    cout << name << "亲亲我们家的" << lover->name << endl;
}
void Lovers::ask(Lovers *lover,string something)
{
    cout << "宝贝儿" << lover->name << "帮我" << something << endl;
}
Boyfriend::Boyfriend(string theName):Lovers(theName)
{
}
Girlfriend::Girlfriend(string theName):Lovers(theName)
{
}
Others::Others(string theName)
{
    name = theName;
}
void Others::kiss(Lovers *lover)
{
    cout << name << "亲一下" << lover->name << endl;
}
int main()
{
    Boyfriend boyfriend("A君");
    Girlfriend girlfriend("B妞");

    Others others("路人甲");

    girlfriend.kiss(&boyfriend);
    girlfriend.ask(&boyfriend,"洗衣服啦");

    cout << "\n当当当当!传说中的路人甲登场啦。。。。\n";
    others.kiss(&girlfriend);

    return 0;
}

http://www.lryc.cn/news/258176.html

相关文章:

  • java: 错误: 不支持发行版本 6
  • qml刷新C++中的QImage图像
  • IJCAI 2024 International Joint Conference on Artificial Intelligence
  • 使用Python Flask搭建Web问答应用程序并发布到公网远程访问
  • android 13.0 app应用安装白名单
  • SSL证书HTTPS保护服务
  • 快速认识什么是:Docker
  • c语言青蛙跳台阶
  • IntelliJ IDEA 2023.3 最新版如何试用?IntelliJ IDEA 2023.3 最新版试用方法
  • Java参数校验详解:使用@Valid注解和自定义注解进行参数验证
  • 多维时序 | MATLAB实现BWO-CNN-BiGRU-Multihead-Attention多头注意力机制多变量时间序列预测
  • C++ 中的引用
  • MQ-Det: Multi-modal Queried Object Detection in the Wild
  • HarmonyOS应用开发初体验
  • 《C++新经典设计模式》之第4章 策略模式
  • 【方法】PowerPoint“只读方式”如何取消?
  • MySQL数据库概念与实践
  • 【ArcGIS Pro微课1000例】0052:基于SQL Server创建企业级地理数据库案例
  • 深度学习——第3章 Python程序设计语言(3.7 matplotlib库)
  • 【数据分析实战】酒店行业华住集团门店分布与评分多维度分析
  • 近期Chrome浏览器 不知哪个版本升级后原先http强制跳转到https,导致服务端302强制跳转到http也没反应
  • 【scikit-learn基础】--『数据加载』之样本生成器
  • 基于 ESP32-S3 的 Walter 开发板
  • Gitlab+GitlabRunner搭建CICD自动化流水线将应用部署上Kubernetes
  • 待做-待补充-每个节点做事,时间,以及与角度的关系
  • 液态二氧化碳储存罐远程无线监测系统
  • kafka学习笔记--安装部署、简单操作
  • UE4 材质实现Glitch效果
  • oracle实验2023-12-8--触发器
  • 【Python百宝箱】贝叶斯统计的魅力:从PyMC3到ArviZ,探索数据背后的不确定性