C++面向对象编程
2016-05-04 10:17
351 查看
类(class)是具有相同属性和行为的一组对象的集合,它是创建对象的模板。
较大的项目中,往往需要多个源程序文件,每个源程序文件称为一个编译单元。
C++语法要求,一个类的声明必须出现在所有使用该类的编译单元中。
通常一个项目至少划分为3类文件:
类声明文件(*.h文件)
类实现文件(*.cpp文件)
类使用文件(*.cpp文件)
采用这样的组织方式可以对不同的文件进行单独编写、编译,最后再连接。
同时可充分利用类的封装性,在调试、修改程序时只需对其中的某个类声明和实现进行修改,而其余部分不动。
面向对象的基本概念
抽象
找出事物的共性,并将其划分为一类,得到一个抽象的概念。数据抽象和行为抽象。
封装
对某段程序,只关心它的执行结果,而不关心实现过程以及过程中所用到的数据。
将属性和行为结合,并尽可能隐藏对象的内部细节。
消息
描述对象之间通信的机制,一个消息就是一个对象要求另一个对象实施某种操作的一个请求。
继承
在一个提取了一般性的类上,考虑到因抽象而被舍弃的一部分对象的特征,可以形成一个新的类。
这个类既具有前一个类的全部特征,又有自己的新特征,形成一种层次结构。
多态
对一个对象发出消息,由于接受对象的类型可能不同,所以会作出不同的反应。
这样一个消息产生不同的响应效果就叫多态。面向对象通过继承和重载两种机制实现多态。
泛型,反射,模板,容器,STL
较大的项目中,往往需要多个源程序文件,每个源程序文件称为一个编译单元。
C++语法要求,一个类的声明必须出现在所有使用该类的编译单元中。
通常一个项目至少划分为3类文件:
类声明文件(*.h文件)
类实现文件(*.cpp文件)
类使用文件(*.cpp文件)
采用这样的组织方式可以对不同的文件进行单独编写、编译,最后再连接。
同时可充分利用类的封装性,在调试、修改程序时只需对其中的某个类声明和实现进行修改,而其余部分不动。
#include <iostream> using namespace std; // 类声明,往往放在头文件中以.h为后缀 class RectangleArea { private: float length, width, area; public: void SetData(float L, float W); float ComputerArea(); void OutputArea(); }; // 类实现 void RectangleArea::SetData(float L, float W) { length = L; width = W; } float RectangleArea::ComputerArea() { area = length * width; return area; } void RectangleArea::OutputArea() { cout << "area = " << area << endl; } // 主函数 int main() { RectangleArea Rectangle; Rectangle.SetData(8, 9); Rectangle.ComputerArea(); Rectangle.OutputArea(); return 0; }
面向对象的基本概念
抽象
找出事物的共性,并将其划分为一类,得到一个抽象的概念。数据抽象和行为抽象。
封装
对某段程序,只关心它的执行结果,而不关心实现过程以及过程中所用到的数据。
将属性和行为结合,并尽可能隐藏对象的内部细节。
消息
描述对象之间通信的机制,一个消息就是一个对象要求另一个对象实施某种操作的一个请求。
继承
在一个提取了一般性的类上,考虑到因抽象而被舍弃的一部分对象的特征,可以形成一个新的类。
这个类既具有前一个类的全部特征,又有自己的新特征,形成一种层次结构。
多态
对一个对象发出消息,由于接受对象的类型可能不同,所以会作出不同的反应。
这样一个消息产生不同的响应效果就叫多态。面向对象通过继承和重载两种机制实现多态。
泛型,反射,模板,容器,STL
相关文章推荐
- c++动态库加载顺序和同名动态库同时加载问题
- HDU 1251-统计难题(字典树-统计前缀串)
- 我的c\c++之旅(五)
- 【LeetCode】111. Minimum Depth of Binary Tree解法及注释,Java,C++,DFS
- 学习笔记之深入浅出MFC 第8章 C++重要性质---Template
- MOOC北京理工《C语言程序设计(上)》第6周第1题:数字正方形
- C++11 模板元编程初探: 在编译期间确定斐波那契数列
- 我的c\c++之旅(四)
- c++ primer(第五版)学习笔记及习题答案代码版(第四章)表达式
- c++编写简单的计算器程序
- 【C语言】输入一个整数N,求N以内的素数之和
- c语言函数可变参数 例
- C++中注册表操作
- 学习笔记之深入浅出MFC 第8章 C++重要性质---异常处理(Exception Handing)
- windows下使用gvim搭建简单的IDE编译环境(支持C/C++/Python等)
- C++输入输出运算符重载(“>>”“<<”)
- C++实现一个按键精灵
- MOOC北京理工《C语言程序设计(上)》第5周第3题:求最小m值
- 成为C++高手之第一个程序
- C++11 多线程