c ++中继承问题小结
来源:互联网 发布:风云无双魔石进阶数据 编辑:程序博客网 时间:2024/05/16 06:35
定义个基类:
#include<iostream>
using namespace std;
class Base
{
public:
void display()
{
cout《"huang"《endl;
}
protected:
int x;
private:
int y;
};
定义一个派生类:
公有继承:派生类的对象可以访问基类中的公有成员,派生类的成员函数可以访问基类的公有和保护成员,
基类的公有成员和保护成员作为派生类的成员时,保持其原有状态
class A:public Base
{
public:
void print()
{
cout《"liglog"《endl;
display();//派生类内部可以访问基类的公有成员
x=0;//派生类内部中可以访问基类的保护成员
cout《x《endl;
//y=1;//派生类内部都不可访问基类的私有成员
//cout《y《endl;
}
protected:
int Ax;
private:
int Ay;
};
保护继承:派生类的成员函数可以访问基类的公有成员和保护成员,以及基类的公有成员和保护成员作为派生类的保护成员,保护成员还可被派生类的子类访问
class B:protected Base
{
public:
void print()
{
cout《"shi"《endl;
display();//派生类内部可访问基类的公有成员
x=1;//派生类内部可访问基类的保护成员
cout《x《endl;
// y=1;//派生类内部不可访问基类的私有成员
// cout《y《endl;
}
protected:
int Bx;
private:
int By;
};
私有继承:基类的公有成员和保护成员作为派生类的私有成员,不能被派生类的子类访问,即不能被往下继承。
class C:private Base
{
public:
void print()
{
cout《"wo"《endl;
display();//派生类内部可访问基类的公有成员
x=1; //派生类内部可访问基类的保护成员
cout《x《endl;
// y=1; //派生类内部不可访问基类的私有成员
// cout《y《endl;
}
protected:
int Cx;
private:
int Cy;
};
int main()
{
// 公有继承部分
A aObject;
aObject.display();//派生类外部可以访问基类的公有成员
aObject.print();
// aObject.x=1;//派生类外部不可访问基类的保护成员
// aObject.y=3;//派生类外部不可访问基类的私有成员
//保护继承部分
B bObject;
// bObject.display();//派生类外部不可访问基类的公有成员
bObject.print();
// bObject.x=1;//派生类外部不可访问基类的保护成员
// bObject.y=1;//派生类外部不可访问基类的私有成员
//私有继承部分
C cObject;
// cObject.display();//派生类外部不可访问基类的公有成员
cObject.print();
// cObject.x=1;//派生类外部不可访问基类的保护成员
// cObject.y=1;//派生类外部不可访问基类的私有成员
return 0;
}
哪里不对的,指点指点,别指指点点。
- c ++中继承问题小结
- c语言中swap问题小结
- c语言中swap问题小结
- 【C++】C++封装、继承、多态小结
- objective-c中继承
- C中Const小结
- C # 中Math 小结
- hibernate中继承层次的小结
- hibernate中继承层次的小结
- C++继承中作用域小结
- java中继承关系学习小结
- 继承小结
- 继承小结
- 继承小结
- 继承小结
- 继承小结
- 继承小结
- 继承小结
- Shecha(煎茶)一个基于Ext.js框架的移动WEB应用框架(整理)
- 上百个Android开源项目分享
- ldd命令--查看命令依赖的库文件
- 实例讲解4--awk命令j
- (Oracle)rownum用法详解
- c ++中继承问题小结
- 实例讲解4--awk命令k
- windows下开发驱动并不难
- 面试题六(自己yy的)
- Oracle编写高效SQL语句
- [翻译]使用Core Data
- /boot 目录文件丢失修复记录
- http协议教程
- Basic Concepts