重命名成员

一.概念

可以在派生类中声明一个与基类成员同名的成员。
派生类的新成员会屏蔽(hide)与其同名的基类成员,使同名的基类成员成为“不可见”的,即基类成员的名字被隐藏。
若要在派生类中使用基类的同名成员,显式地使用类名限定符:
类名 :: 成员

二.重命名数据成员

class base
{ public :
int a , b ; } ;
class derived : public base
{ public :
int b , c ; } ;
void f ( ) { derived d ; d . a = 1 ; d . base :: b = 2 ; d . b = 3 ; d . c = 4 ; };

在这里插入图片描述

三.重名成员函数

•如果是派生类中声明了一个与基类成员函数名字相同,参数也相同的成员函数,则基类中的成员函数将被隐藏。
•如果在派生类中声明了一个与基类成员函数名字相同,但参数不同的成员函数,则基类中的成员函数也将被隐藏。

#include<iostream>
using namespace std ;
class A
{
public:
    int a1, a2 ;
    A( int i1=0, int i2=0 )
    {
        a1 = i1;
        a2 = i2;
    }
    void print( )
    {
        cout << "a1=" << a1 << '\t' << "a2=" << a2 << endl ;
    }
};
class B : public A
{
public:
    int b1, b2 ;
    B( int j1=1, int j2=1 )
    {
        b1 = j1;
        b2 = j2;
    }
    void print( )
    {
        cout << "b1=" << b1 << '\t' << "b2=" << b2 << endl ;
    }
    void printAB( )
    {
        A::print( ) ;
        print( ) ;
    }
};
int main( )
{
    B b ;
    b.A::print( );
    b.printAB( );
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值