C++中访问私有成员方法

本文深入探讨了C++中基类与派生类之间的虚函数访问机制,特别是如何在派生类初始化的基类对象上访问派生类重新实现的虚函数和纯虚函数,但不包括对基类私有成员的访问。通过实例代码解析,揭示了面向对象编程中类继承与多态性的关键概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

可以看看下面这段代码:

#include <iostream>
using namespace std;

class Base
{
public:
    virtual void fun_1(int i);
    virtual void fun_3(int i)=0;

 };
void Base::fun_1(int i)
{
    cout << "Base Fun_1:" <<i <<endl;
}
class Drived: public Base
{
    void fun_1(int i)
    {cout << "Drived fun_1:" << i<<endl ;}
    void fun_1(char* m)
    {cout << "Drived fun_2:double :" << m<<endl;}
    void fun_3(int i)
    {cout <<"Drived fun_3:" <<i <<endl; }
 };
void main()
{
    Base *pb ;
    Drived *pd;
    pd =new Drived ;
    pb = new Drived ;
    pb->fun_1(1000.00);
    pb->fun_3(200);

 //    pd->fun_1(100);//私有成员不能访问
//     pd->fun_3(500);
    system("pause");
    return ;
}

用派生类初始化的基类对象,访问派生类重新实现的虚函数或者是纯虚函数(为派生类的私有成员),是OK的。但是派生类的对象不能访问!

但是如果Base的私有成员不能访问!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值