C++ 继承,private 以及 protected
来源:互联网 发布:山寨苹果数据线 知乎 编辑:程序博客网 时间:2024/05/19 20:22
class CA{public:protected:private:int nID;//声明为private};class CB:public CA{public:CB(){nID=0;//第二层不能访问了}protected:private:};
class CA{public:protected:int nID;//声明为protectedprivate:};class CB:public CA{public:CB(){nID=0;//第二层可以访问}protected:private:};class CC:public CB{public:CC(){nID=0;//第二层可以访问}protected:private:};
//有一个场景,需要将nID变更为2,那么我们可以通过前置基父类继承,也可以使用后继子类继承//下面是前置父类继承/*优点1.CB类可以保持原来代码不动,只需要更新CA_A的代码即可2.如果还有其他类需要此变更可以直接继承CA_A的类*/class CA{public:volatile int nID;//声明为protectedprotected:virtual int Test()=0;private:};class CA_A:public CA{public:protected:virtual int Test(){nID=1;}private:};class CB:public CA_A{public:CB(){nID=0;//第二层可以访问}protected:private:};
//下面是后置子类继承/*优点1.CB类可以保持原来代码不动,只需要更新CC的代码即可2.需要核查原先的代码是否需要新功能需求,如果原先都得使用新功能需求则CB的调用全都改成CC调用3.可以独立封装使用,原先CB的类的使用可以保持不动,新增加功能可以使用CC即可*/class CA{public:volatile int nID;//声明为protectedprotected:virtual int Test()=0;private:};class CB:public CA{public:CB(){nID=0;//第二层可以访问}virtual int Test(){nID=2;//原先实现的是等于2,后面需要改成1,假设不动这里的代码}protected:private:};class CC:public CB{public:CC(){nID=0;//第二层可以访问}virtual int Test(){nID=1;//通过继承CB,然后实现Test的功能即可,使用时有这种新特殊需求构造CC的对象出来即可}protected:private:};
//C++ 继承构造函数class CA{public:CA(){}CA(IN int n):nID(n){}protected:volatile int nID;//声明为protectedprivate:};class CB:public CA{public:CB(){//1.无疑这个构造函数肯定是调用CA()构造函数nID=0;//第二层可以访问}CB(IN int n)//CB(IN int n):CA(n) //这里才是想要的{//2.但是这个构造函数是调用CA()还是CA(IN int n)构造函数呢?答案是:CA(),VS2010,所以如果要显示调用对应的函数,改成注释那一块内容接口nID=n;}protected:private:};
阅读全文
0 0
- C++ 继承,private 以及 protected
- C++:public继承、protected 继承、private继承
- C++:public继承、protected 继承、private继承
- C++:类继承 private, protected的区别
- public、private、protected继承
- public、protected、private继承
- public、protected和private访问权限以及继承问题
- JavaScript实现类的private、protected、public、static以及继承
- JavaScript实现类的private、protected、public、static以及继承
- public、private以及protected
- 继承 Objective-C中public、protected、private的使用
- C++-public,protected,private
- 【C++】public protected private
- C++private,protected,public。
- 关于PUBLIC、PROTECTED、PRIVATE继承
- public private 和protected 继承
- public、protected和private继承
- public、protected和private继承
- 连胜--小程序中滚动条的使用,wx.pageScrollTo和<scroll-view>的对比
- 共同学习Java源代码-数据结构-HashMap(十七)
- 算法笔记2
- ZooKeeper之Java客户端API使用—创建会话。
- Web.xml中Context-param的作用
- C++ 继承,private 以及 protected
- SQL Server链接服务器(一台机器SQL Server登陆,同时映射登陆到另外一台远程服务器的数据库)
- Python: 在Unicode和普通字符串之间转换
- 计算1*2*3+3*4*5+...+99*100*101
- 生成缩略图 S3 & Lambda
- 51nod 1366 贫富差距 (并查集+最短路径)
- 元素li已经无法赋value值了(js&jquery报错:无效的属性值)
- 设计模式之工厂模式
- R 包安装遇到一些问题