C_语言对C语言的扩充

C_语言对C语言的扩充

ID:36757799

大小:334.94 KB

页数:5页

时间:2019-05-14

C_语言对C语言的扩充_第1页
C_语言对C语言的扩充_第2页
C_语言对C语言的扩充_第3页
C_语言对C语言的扩充_第4页
C_语言对C语言的扩充_第5页
资源描述:

《C_语言对C语言的扩充》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第卷第期微计算机应用,年,月十语言对语言的扩充蓝雯飞中南民族学院计算机科学学院武汉。。摘要语言,十语言除了在语言的基础上扩充了面向对象特征是语言的超集,。、外还扩充了非面向对象特征本文讨论了十语言不同于语言的非面向对象特征面,。向对象程序设计中的二义性和十语言的文件操作并给出了一些应用例子关锐词十语言引用二义性文件操作十语言不同于语言的非面向对象特征引用机制,。,在语言中引用是标识对象的一种机制通过引用声明可以使程序中的一个标识,。,符与它所标识的对象之间的对应关系在程序运行时确定从而提高程序的灵活性因此引,,用常用作函数的形式参数在进行引用调用传递时调用者只是将实参对象的标识传

2、给,,,了引用形参使得引用形参标识的是实参对象而且这种标识关系是动态确定的即在程序,,运行时根据调用时所用实参对象的不同而引用不同的实参对象因而提高了程序的灵活性节,,。约了形参的内存开销特别是当实参对象的结构较复杂时尤其明显川为了使函数调用表达,函数,式能作为左值表达式使用必须返回引用注意函数不能返回函数内声明的局部对象的引用。例如,〔,〔〕《〔〕,〔,,,,阮〕函数特征十函数的声明形式与定义形式和是,一致的语言在语言的基础上扩充了一些函数特征,使。,十成为更好用的如允许对函数进行重载可以将函数定义为内联函数,函数可带缺省形参等。,。函数重载是指对已有的函数重新定义或者说个标识

3、符可以为多个函数命名川例如,,,当程序中对重载函数进行调用时,由编译器根据形参的类型和个数确定函数调用发生时应执行的函数代码,这种确定也称静态联编静态绑定。注意不能将重载函数声明为只是,,。返回类型不同的函数如用关键字定义的函数,称内联函数。使用内联函数时应注意以下几点①编译器将程序中出现的对内联函数的调用使用内联函数体替换②内联函数的定义必须出现在内联函一一,一一。本文于收到收到修改稿第期微计算机应用数被第次调,,用之前③最好只对短而使用频繁的函数使用可提高程序运行效率但以增加目标代码的长度为代价换取④内联函数体不能有循环语句和语句。在,十的函数声明中可以为个或多个形参指定缺省

4、值该函数称为带缺省参数的函,,。,数例如一在使用带缺省参数函数时应注意①除内联函数外,一般在函数原型中指定缺省值在函数定义中不允许再指定缺省值②在个缺省形参的右,。,。边不能出现非缺省参数如是非法声明此外,还允许用户定义带不确定参数个数的函数。,,所有语言提供的函数特征都提高了程序的灵活性和可扩充性程序设计人员在定义函数时根据需要应尽量使用这些特征。和一操作符操作符,用来在程序运行时根据需要随机创建对象这样的对象也称堆对象而,。,操作符正好相反是将由创建的堆对象删除更经常的情况是当只能在程序运行时才能知道需要建立多少对象来存储数据时,就应使用创建堆对象。在使用这个操作符时还应注意

5、①删除的必须是由创建的对象②当用「〕操作符建立多维数组,,。时除第一维外必须指定每维的大小“”全局操作符二语言规定,如果在程序的内层作用域中声明了与外层作用域中同名的标识符,那么,。一,在内层作用域中外层作用域中声明的标识符是不可见的卜十语言提供了全局操作符使得程序在内层作用域里可访问到外层作用域中声明的同名标识符。例如《,,一”《《程序执行结果为一二《‘饭’‘《,《异常处理机制。,,异常是指个函数在执行的过程出现了不得不中断操作的情况如除法操作除数为。。当栈为空时取栈顶元素等十语言提供异常处理机制包括捕获异常语句语句和引。,,发异常语句语句来处理异常当函数出现异常时用语句表示将

6、引发异常调用者用语句表达如何处理异常,这种异常处理机制能提高程序的可靠性。面向对象程序设计中的二义性及其解决方法有关面向对象特征的讨论参见文献」。程序员在进行十十面向对象程序设计,,,,时多继承使用频繁然而使用多继承容易出现二义性问题在多继承情况下若在一个表达式中将引用基类中不止一个成员,则这种对基类中成员的访问是二义的。下面讨论二义性的产生及解决方法。派生类的不同基类有同名的成员,派生类的不同基类有同名的成员且派生类和基类无同名的成员在下述两种情况下将出现二义性。派生类的对象引用同名的基类成员。例如·‘‘’’‘“一微计算机应用年、,,,川对于表达式,是类的对象,引用类的还是类的

7、编译器在编译时无法确定。下面我们给出解决方法①使用成员限定表达式例如,对于表达式,。表示引用的而对于表达式表示引用的②使用名字支配原则,。,在类中声明一个同名的函数该名字将支配类及类同名的函数这时表达式将访问支配者类的。助在派生类中引用同名的基类成员。,记,函数调例如将类的成员函数实现为⋯用表达式将调用的或的使编译器在编译时无法确定。使用成员限定表达式可以解决这种二义性,,。例如二二以这样实现二二弋成员限定表达式明确指出将访问哪个类的成员,这样,就不会给编译器在编译时带来模糊现象

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。