1. 1、本文档共54页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C杂谈

C++杂谈 主讲:张献雷 北京理工大学 1.面向对象与过程 此处,咱们讲得面向对象与过程,都是从程序语言角度来说的。 举例说明,其区别:驾车去南京 从过程来说,咱们必须会怎么去开车 1.启动 2.挂档等,3.还要知道具体路线 从对象角度来说,咱们只需给车一个指令:我要去南京,就ok了 对象的状态与行为 对象具有状态,一个对象用数据值来描述它的状态 对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为 对象实现了数据与操作的结合,使数据和操作封装在对象的统一体中。 类 具有相同或相似性质的对象的抽象就是类。因此,对象的抽象是类,类的具体化就是对象,也可以说类得实例是对象。 类具有属性,它是对象的状态的抽象,用数据结构来描述累的属性。 类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述。 面向对象的特征 特征: 1.抽象性 2.继承性 3.封装性 4.多态性 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。 3.封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。 4. 多态性:多态性是指在一般类中定义的属性或服务被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。这使得同一个属性或服务在一般类及其各个特殊类中具有不同的语义。例如:几何图形的绘图方法,椭圆和多边形都是几何图的子类,其绘图方法功能不同。 指针*与引用联系与区别 相同点: 1.都是地址的概念;指针指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名。 区别: 1.指针是一个实体,而引用仅是个别名 2. 引用只能在定义时被初始化一次,之后不可变;指针可变; 3. 引用不能为空,指针可以为空; 4. “sizeof 引用”得到的是所指向的变量(对象)的大小,而“sizeof 指针”得到的是指针本身(所指向的变量或对象的地址)的大小(四个字节); 5. 指针和引用的自增(++)运算意义不一样 6.引用比指针更安全 三种传递方式 一.值传递 二.指针传递 三.引用传递 int main() { int a=2; f(a); Couta; return 0; } void f(int a) { a++; } void f(int *a) { (*a)++; } void f(int a) { a++; } const和static const作用: 1.const常量,定义时要初始化,以后不允许被改变,就是说只能作为“右值”使用 2.const函数形参:f(const int a)表示该形参是一个输入形参,在函数里不能改变其值 3.const指针:让指针本身为const或者指针所指为const或者同时为const 4.类的成员函数const:表示该函数只对成员变量进行只读操作 5.const类的成员函数:返回值为const,使得返回值不能左值 Static变量一般为全局变量,供全局调用。它是个“左值”变量。它在任何地方的改变,都会对其他地方的应用产生影响。 const指针变量 const char n; const char *n;//*n是const const (char *) n;// n是const char* const n;// n是const; const char* const n;//n和*n都是const char const * const n;//n和*n都是const 多态是一种运行期绑定机制,通过这种机制,实现将函数名绑定到函数具体实现代码的目的。 一个函数在内存当中起始的地址就称为这个函数的入口地址。 多态就是将函数名称动态地绑定到函数入口地址的运行期绑定机制。 5.1 C++中的运行期绑定与编译期绑定 一个函数的名称与其入口地址是紧密相连的 ,入口地址是函数在内存当中的起始地址。 #include iostream using namespac

您可能关注的文档

文档评论(0)

cgtk187 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档