C++继承中的同名成员变量处理方法
1、当子类成员变量与父类成员变量同名时
2、子类依然从父类继承同名成员
3、在子类中通过作用域分辨符::进行同名成员区分(在派生类中使用基类的同名成员,
显式地使用类名限定符)
4、同名成员存储在内存中的不同位置
#include <iostream>
using namespace std;class A
{public:int a;int b;
public:void get(){cout<<"b "<<b<<endl;}void print(){cout<<"AAAAA "<<endl;}
protected:
private:
};class B : public A
{public:int b;int c;
public:void get_child(){cout<<"b "<<b<<endl;}void print(){cout<<"BBBB "<<endl;}
protected:
private:
};void fTest()
{B b1;b1.print(); b1.A::print();b1.B::print(); //默认情况return;
}//同名成员变量
void vTest()
{B b1;b1.b = 1; //b1.get_child();b1.A::b = 100; //修改父类的bb1.B::b = 200; //修改子类的b 默认情况是Bb1.get();cout<<"hello..."<<endl;return ;
}int main(int argc, const char** argv) {vTest();fTest();return 0;
}
总结:同名成员变量和成员函数通过作用域分辨符进行区分
C++继承中的同名成员变量处理方法相关推荐
- C++ 继承中的同名成员的情况01
class Base { public:Base(){this->m_A = 100;}void func(){cout << "Base中的Func调用" &l ...
- 在python语言中定义私有成员变量的方法是_Python在类中有“私有”变量吗?
回答(11) 2 years ago python中的私有变量或多或少是一个hack:解释器故意重命名变量 . class A: def __init__(self): self.__var = 12 ...
- java在继承中父类的成员变量是否会被子类所覆盖
假如 父类 int num =7:子类 int num =9:父类是否会被子类所覆盖? 给你看两个例子: 第一个例子: 第二个例子: 这两个例子的区别只有一句话 由此证明了子类从父类继承的时候 如果有 ...
- Java中定义抽象类Shape,其中包含抽象方法double getPeremeter( )求周长和double getArea( )求面积。 定义一个矩形类,继承此抽象类,并自行扩充成员变量和方法。
Java中定义抽象类Shape,其中包含抽象方法double getPeremeter( )求周长和double getArea( )求面积. 定义一个矩形类,继承此抽象类,并自行扩充成员变量和方法, ...
- Java子类继承(二):隐藏成员变量和方法重写的理解
1,上篇说子类可以继承父类的成员变量,作为自己的成员变量,在Java中子类也可以隐藏由父类继承来的成员变量,只要子类中声明的成员变量和父类的成员变量同名,就可以将其隐藏. 需要的注意是:子类对象可以调 ...
- Educoder–Java 2. 成员变量的隐藏 第1关:学习-Java继承和多态之成员变量隐藏之优惠促销价格计算
文章目录 任务描述 相关知识 编程要求 测试说明 答案 任务描述 本关任务:计算商品打折后的价格. 相关知识 在编写子类的时候,我们仍然可以声明一些新的成员变量,其中有一种特殊的情况就是,所声明的成员 ...
- C++ 继承中的同名处理
C++ 多态 https://blog.csdn.net/qq_41605114/article/details/104282305 C++ 继承 https://blog.csdn.net/qq_4 ...
- C++ - 子类与父类的同名成员变量
1.思考 子类中是否可以定义父类中的同名成员?如果可以,如何区分?如果不可以,为什么? 代码示例: #include <iostream> #include <string>u ...
- Java 中子类是否只继承父类的非私有变量和方法?
今天在 CSDN 论坛中见到有人问在 Java 中子类是否只继承父类的非私有变量和方法(原贴在此).大部分跟贴都认为这句话是正确的,但是对于这个问题背后的本质理解却是错误的. 首先我们明确一下&quo ...
最新文章
- linux系统安装服务器过程,Linux系统服务器安装宝塔面板图文过程详解
- 今日头条算法原理(全文)【转】
- Kubernetes 1.6新特性
- easyui datebox时间控件如何只显示年月
- ONOS系统架构演进,实现高可用性解决方案
- oracle截取时间函数6,SQL 取日期部分函数
- 深入理解JavaScript系列:《你真懂JavaScript吗?》答案详解
- 小鹏NGP自动导航辅助驾驶Beta版体验:论软件,这台量产车可能是第一
- nodejs应用转换png,jpg,gif为webp图片格式
- 2019级C语言大作业 - 火柴人试炼之地
- 王思聪也救不了熊猫直播了?
- 5、利用控件TVCLZip和TIdFTP压缩文件并上传到FTP的线程单元pas 改进版
- 进入linux jed文本编辑怎么退出,Linux jed命令
- 产品经理如何更优商业思维
- 远程控制工具——Centos7上向日葵安装使用(xy)
- 2019 春季算法工程师实习生招聘历程
- windows下Python2.7 的 pyOpenGL模块安装
- C语言舞伴问题 PTA
- 杜静20176395
- 在windows环境下搭建mac os
热门文章
- sql查询复习笔记-小技巧,大智慧(续一)
- 在web项目中的类库中引用webservice 在部署后更改webservice路径的方法
- ”System.Configuration.ConfigurationSettings.AppSettings“ 已过时----解决方案
- 杭电Color the ball1556
- 《程序是怎样跑起来的》(上)
- redis解决“高并发定时秒杀”库存误差问题
- Kettle 系列随笔
- HDU 1525 - Euclid's Game ( 博弈 )
- CriminalIntent项目的强大完善
- lucene 索引优化