标签:style blog color io os ar 使用 strong sp
c++有更加丰富的内容和严格的类型检查,比如语法上多了一些东西,理念上多了面向对象(以对象为目标) 的思想,还有模版的概念。当然c++也可以面向过程编程。
C语言规定是先把变量定义完再定义函数,C++语言中可以随时定义变量,随用随定。
面向过程编程:程序=算法+数据结构
功能为基础,数据和对数据的操作分离,采用自顶向下的方式进行设计,用对应的程序模块解决每一个简单的子问题,在一定控制下,综合众多独立功能的模块组合为大模块。
优点:结构清晰,模块化强
缺点:代码维护性查,可重用性差,强依赖,牵一发动全身。
面向对象编程:程序=对象+消息 ,对象=数据+操作
数据为基础,数据和对数据的操作封装为类,数据本身对外隐藏,以类的对象作为程序的基本元素,通过向对象发消息,让对象启动相关的方法完成功能。
优点:提高代码维护性,可重用性,增加数据安全,可靠性强
类是抽象的,对象是具体的类的实例化,他们相互依存。类的属性叫类的数据成员,表示一类对象共有的静态特性,数据成员的行为叫成员函数,表示一类对象共有的动态特性。
类也是一种类型,该类型有数据成员,还有对数据成员的操作(成员函数)。类的对象就是属于类类型的变量而已。
类中的数据成员和成员函数的具体实现都被封装隐藏,只有成员函数的原型声明对外公布(接口),main函数只能通过类的对象调用类的接口函数,间接修改类的数据成员,而不能直接去修改数据成员(封装的体现)。
向对象发送同样的消息,可能指向不同的代码,产生不同的结果,这就是多态性
可以在已有类的基础上,再定义子类,增加一些新的属性和行为,这就是继承。
在定义新类时,把已有类的对象作为新类的数据成员,这叫类的聚合关系。
最好使用已有的类,面向对象提倡这样做,增加代码重用性,使得开发周期短,效率高
面向对象就是围绕对类的定义和使用展开的。
c++的类只在编译时期(源代码里)存在,不在内存里出现,类的实例(对象)和普通变量一样,会出现在内存,并占据空间。
面向对象三大特性:封装,继承,多态
封装:第一大特征,提供安全和可靠性。类不真正占用内存,封装的单位实际上是属于某个类的对象
继承:第二大特征,提供代码可重用性,继承使得基类(父类)的数据成员和成员函数被子类(派生类)重用,在子类里增加一些新成员函数和数据成员(改造),避免重复开发,减少代码量和冗余度。
继承的类别:单一继承和多重继承
单一继承:子类只从一个基类继承而来。
多重继承;子类同时从多个基类继承而来。
多态性:第三大特征,一种行为对应着多个不同的实现方法。
多态分两类:静态多态(编译时的多态,函数重载和运算符重载实现),动态多态(运行时多态,需要继承,虚函数,基类指针或者引用实现)
意义:用同一个接口实现不同操作
输入输出的变化及注释方式
有自己的输入输出流cout和cin,头文件不用.h,c++有自己的流类库,安全,方便,也兼容c的输入输出方式。
1 #include <iostream>//必须包含,才能使用输入输出 2 using namespace std;//必须包含std名字空间 3 int main(void) 4 { 5 int a; 6 cin >> a;//cin标准输入流,代表输入设备,后面只能跟变量,不用考虑数据类型 7 //允许用户输入连串的数据依次给各个变量赋值,两个数据之间用空格、回车、tab键隔开 8 //在输入字符串的时候尤其注意这点 9 char s[100]; 10 cin >> s;//此种方法不能读入含有空格的字符串 11 //使用cin.getline实现输入带空格的字符串 12 cin.getline(s,99); 13 14 cout << "a = " << a << endl;//cout标准输出流,代表输出设备,后面能跟常量,变量,表达式 15 //新增换行符endl,等价\n,还有刷新缓存的作用 16 return 0; 17 }
>>和<<都保留了c中的移位功能
新增了单行注释(标准c也有了)//
可以嵌套,嵌套//或者/**/都行,而/**/注释不能嵌套/**/,只可以嵌套//
标签:style blog color io os ar 使用 strong sp
原文地址:http://www.cnblogs.com/kubixuesheng/p/4034840.html