- 1、本文档共172页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
绪论面向对象程序设计:通过增加软件可扩充性和可重用性来改善并提高程序员的生产能力,并控制维护软件的复杂性和软件维护的开销
定义或说明一个常数组可采用如下格式: 类型说明符 const 数组名[大小]… 或者 const 类型说明符 数组名[大小]… int const a[5]={1, 2, 3, 4, 5}; 常对象是指对象常量,定义格式如下: 类名 const 对象名 或者 const 类名 对象名 定义常对象时,同样要进行初始化,并且该对象不能再被更新 下面定义的一个指向字符串的常量指针: char * const prt1 = stringprt1; 其中,ptr1是一个常量指针。因此,下面赋值是非法的。 ptr1 = stringprt2; 而下面的赋值是合法的: *ptr1 = m; 因为指针ptr1所指向的变量是可以更新的,不可更新的是常量指针ptr1所指的方向(别的字符 下面定义了一个指向字符串常量的指针: const char * ptr2 = stringprt1; 其中,ptr2是一个指向字符串常量的指针。ptr2所指向的字符串不能更新的,而ptr2是可以更新的。因此, *ptr2 = x; 是非法的,而: ptr2 = stringptr2; 是合法的。 2. 常引用 使用const修饰符也可以说明引用,被说明的引用为常引用,该引用所引用的对象不能被更新。其定义格式如下: const 类型说明符 引用名 例如: const double v; 在实际应用中,常指针和常引用往往用来作函数的形参,这样的参数称为常参数。 在C++面向对象的程序设计中,指针和引用使用得较多,其中使用const修饰的常指针和常引用用得更多。使用常参数则表明该函数不会更新某个参数所指向或所引用的对象,这样,在参数传递过程中就不需要执行拷贝初始化构造函数,这将会改善程序的运行效率。 #include const int N = 6; void print(const int *p, int n); void main() { int array[N]; for (int i=0; i cinarray[i]; print(array, N); } void print(const int *p, int n) { cout{*p; for (int i=1; i cout,*(p+i); cout} } 常成员函数 使用const关键字进行说明的成员函数,称为常成员函数。只有常成员函数才有资格操作常量或常对象,没有使用const关键字说明的成员函数不能用来操作常对象。常成员函数说明格式如下: 类型说明符 函数名 (参数表) const; 其中,const是加在函数说明后面的类型修饰符,它是函数类型的一个组成部分,因此,在函数实现部分也要带const关键字。下面举一例子说明常成员函数的特征。 #include class R { public: R(int r1, int r2) { R1=r1; R2=r2; } void print(); void print() const; private: int R1, R2; }; 基类与派生类的关系 任何一个类都可以派生出一个新类,派生类也可以再派生出新类,因此,基类和派生类是相对而言的。一个基类可以是另一个基类的派生类,这样便形成了复杂的继承结构,出现了类的层次。一个基类派生出一个派生类,它又做另一个派生类的基类,则原来的基类为该派生类的间接基类。 1. 派生类是基类的具体化。 2. 派生类是基类定义的延续。 3. 派生类是基类的组合。 派生类将其本身与基类区别开来的方法是添加数据成员和成员函数。因此,继承的机制将使得在创建新类时,只需说明新类与已有类的区别,从而大量原有的程序代码都可以复用。 如:class A { ??? public: ??? void f(); }; class B { ??? public: ??? void f(); ??? void g(); }; class C: public A,public B { ??? public: ??????? void g(); ??????? void h(); }; C obj; 赋值兼容规则 赋值兼容规则是指:在公有派生的情况下,一个派生类的对象可用于基类对象适用的地方。赋值兼容规则有三种情况(假定类derived由类base派生) : (1)派生类的对象可以赋值给基类的对象。
您可能关注的文档
最近下载
- 中国建筑色卡千色卡色号查询表.pdf
- 物流配送及其运输调度优化研究.docx VIP
- 北师大版八年级数学下册知识点:定理知识点汇总.doc VIP
- 预防未成年人犯罪法宣传青少年法制教育主题班会ppt课件.pptx
- ISO 4427-2-2019中文+英文,塑料管材系统,聚乙烯,第2部分,管材.pdf
- 吻合器的原理、种类及操作.ppt VIP
- 2024年中考(学业水平考试)生物热点:生物学与社会 跨学科实践(学生版+解析版).docx
- 《第3节 细胞通过分解有机分子获取能量》课件_高中生物_必修1 分子与细胞_沪科版.pptx VIP
- 百家争鸣 作业设计 .doc VIP
- 6MW光伏发电项目报价清单表(全项).docx
文档评论(0)