C++的三个基本特征:封装、继承、多态
2015-11-30 11:10
591 查看
什么是封装?
***********************************************************************************************
封装可以隐藏实现细节,使代码模块化;封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。在面向对象编程上可以理解为:把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。
什么是继承?
了解更多点击:关于继承的链接
***********************************************************************************************
继承是可以使用现有类的所有功能,并在无需重新编写原来的类情况下对这些功能进行扩展。其继承的过程就是从一般到特殊的过程。
什么是多态?
了解更多点击:多态实现链接
***********************************************************************************************
多态是允许将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特征以不同的方式运作。简单的说:允许将子类类型的指针赋值给父类类型的指针。
看个例子:
关于虚函数的总结:点击打开链接
***********************************************************************************************
封装可以隐藏实现细节,使代码模块化;封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。在面向对象编程上可以理解为:把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。
什么是继承?
了解更多点击:关于继承的链接
***********************************************************************************************
继承是可以使用现有类的所有功能,并在无需重新编写原来的类情况下对这些功能进行扩展。其继承的过程就是从一般到特殊的过程。
什么是多态?
了解更多点击:多态实现链接
***********************************************************************************************
多态是允许将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特征以不同的方式运作。简单的说:允许将子类类型的指针赋值给父类类型的指针。
看个例子:
#include "stdafx.h" #include<iostream> using namespace std; class base { public: virtual void func() { printf("call base func\n"); } virtual ~base() { printf("call ~base\n"); } }; class child:public base { public: virtual void func() { printf("call child func\n"); } virtual ~child() { printf("call ~child\n"); } private: }; int _tmain(int argc, _TCHAR* argv[]) { base*p = new child; p->func(); delete p; return 0; }答案:
关于虚函数的总结:点击打开链接
相关文章推荐
- C语言编程优化运行速度
- 基于windows平台,dev-c++编译工具,搭建ffmpeg 开发环境
- 编译原理(八) 算符优先分析法(分析过程的算法和C++实现)
- C++ 11
- 汉诺塔算法的递归与非递归的C以及C++源代码
- c++ 单例模式的浅谈
- C++的编译单元、可执行程序、内部连接与外部连接
- 利用gcc对C语言的语句内嵌表达式扩展定义lambda宏
- c++文件操作精简详解
- 2015.11.26——Accelerated C++
- C语言_循环打印
- 扩展C++ string类
- C++ string实现原理
- C++箴言:理解 new-handler的行为
- 浅析C++内存分配与释放操作过程——三种方式可以分配内存new operator, operator new,placement new
- C++vptr初始化时间
- C++ typeid实现原理
- C++ dynamic_cast实现原理
- C++临时对象销毁时间
- C语言malloc和free实现原理