C++继承类静态成员处理

class A

{

public:

     static string name;//父类静态函数

public:

     static void add()

{

cout<<"打印小明"<<endl;

}

}

string A::name="小明";//外部赋值A类对象

class B:public A//继承父类A

{

public:

   static string name;//父类同名静态属性

public:

   static void add()//父类同名静态函数

{

cout<<"打印小红"<<endl;

}

}

string B::name="小红";//外部赋值B类对象

int main()

{

B b;

cout<<b.name<<endl;//通过对象访问B类静态成员,结果为小红

cout<<b.A::name<<endl;//通过对象访问A类静态成员,结果为小明

cout<<B::name<<endl;//通过子类名来访问子类类静态成员,结果为小红

cout<<B::A::name<<endl;//通过子类名来访问父类作用域的静态成员,结果为小明

b.add();//通过对象调用静态函数,结果为打印小红

b.A:add();//通过对象调用父类静态函数,结果为打印小明

B:add();//通过子类名调用子类静态函数,结果为打印小红

B:A:add();//通过子类名调用父类作用域的静态函数,结果为打印小明

注意事项:继承函数时,出现同名,子类会隐藏父类同名函数

 

 

}

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值