第二律 2022-09-28 11:13 采纳率: 40%
浏览 32
已结题

C++使用private继承时遇到的小问题

C++ private继承使用访问申明,函数重名调用问题
怎样使用Z的实例化对象调用Y的show()方法,Y的show2()方法没有重名可以直接使用
#include <iostream>
using namespace std;

class X {
    public:
        void show() {
            cout<<"X"<<endl;
        }
}; 

class Y {
    public:
        void show() {
            cout<<"Y"<<endl;
        }
        
        void show2() {
            cout<<"Y2"<<endl;
        }
};

class Z: public X, private Y {
    public:
        void show() {
            cout<<"Z"<<endl;
        }
        
        Y::show;    // 访问申明 
        Y::show2;    // 访问申明 
};

int main() {
    Z obj;
    obj.show();            // 输出Z 
    obj.X::show();        // 输出X 
                        // 希望通过obj调用Y::show(), 使用obj.Y::show()会报错 
    obj.show2();        // 输出Y2 
    
    return 0;
} 

  • 写回答

2条回答 默认 最新

  • 快乐鹦鹉 2022-09-28 11:23
    关注

    私有的,不让外部调用,那你就加个public的接口函数好了啊

    本回答被专家选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月8日
  • 专家已采纳回答 10月8日
  • 创建了问题 9月28日

悬赏问题

  • ¥15 unity从3D升级到urp管线,打包ab包后,材质全部变紫色
  • ¥50 comsol温度场仿真无法模拟微米级激光光斑
  • ¥15 上传图片时提交的存储类型
  • ¥15 VB.NET如何绘制倾斜的椭圆
  • ¥15 arbotix没有/cmd_vel话题
  • ¥15 odoo17的分包重新供应路线如何设置?可从销售订单中实时直接触发采购订单或相关单据
  • ¥15 用C语言怎么判断字符串的输入是否符合设定?
  • ¥15 通信专业本科生论文选这两个哪个方向好研究呀
  • ¥50 我在一个购物网站的排队系统排队,这个排队到号后重新定向到目标网站进行购物,但是有技术牛通过技术方法直接跳过排队系统进入目标网址购物,有没有什么软件或者脚本可以用
  • ¥15 ios可以实现ymodem-1k协议 1024字节传输吗?