- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C程序设计06-数组与指针
C++语言程序设计 第6讲: 数组、指针与字符串 友元 friend 友元是C++提供的一种破坏数据封装和数据隐藏的机制。 通过将一个模块声明为另一个模块的友元,一个模块能够引用到另一个模块中本是被隐藏的信息。 可以使用友元函数和友元类。 为了确保数据的完整性,及数据封装与隐藏的原则,建议尽量不使用或少使用友元。 例5-6: 使用友元函数计算两点距离 class Point //Point类声明 { public: //外部接口 Point(int xx=0, int yy=0) {X=xx;Y=yy;} int GetX() { return X; } int GetY() { return Y; } friend float fDist (Point a, Point b); private: //私有数据成员 int X,Y; }; float fDist ( Point a, Point b ) { double dx = a.X-b.X; double dy = a.Y-b.Y; return (float)sqrt(dx*dx+dy*dy); } 友元类 class A { friend class B; public: void Display() { cout x endl; } private: int x; } class B { public: void Set(int i); void Display(); private: A a; }; void B::Set(int i) { a.x = i; } void B::Display() { a.Display(); } 常类型 const 常类型是只读的意思。 常类型的对象必须进行初始化,而且不能被更新。 常引用:被引用的对象不能被更新。 const 类型说明符 引用名 常对象:必须进行初始化,不能被更新。 类名 const 对象名 常对象举例 class A { public: A(int i,int j) { x = i; y = j; } ... private: int x,y; }; A const a(3,4); // a是常对象,不能被修改 例5-8: 常成员函数举例 class R { public: R(int r1, int r2){ R1 = r1; R2 = r2; } void print(); void print() const; private: int R1,R2; }; void R::print() { coutR1:R2endl; } void R::print() const { coutR1;R2endl; } 例5-9: 常数据成员举例 class A {public: A(int i); void print(); const int r; private: const int a; static const int b; //静态常数据成员 }; const int A::b=10; A::A(int i): a(i), r(a) {} void A::print() { couta:b:rendl; } 数组 数组必须先声明,后使用。 一维数组的声明: 数据类型 数组名[ 常量表达式 ]; 例如:int b[10]; 表示 b 为整型数组,有10个元素:b[0]...b[9] 多维数组的声明: 数据类型 标识符[常量表达式1][常量表达式2] …; 例如:int a[5][3]; 表示a为整型二维数组,其中第一维有5个下标(0~4),第二维有3个下标(0~2),数组的元素个数为15,可以用于存放5行3列的整型数据表格。 例6-1:数组的说明与使用 int main() { int A[10], B[10]; for(int i=0;i10;i++) { A[i]=i*2-1; B[10-i-1]=A[i]; } for(i=0;i10;i++) { cout A[ i ]=“ A[i]; cout B[ i ]= B[i]endl; } } 一维数组的初始化 可以在编译阶段使数组得到初值: 在声明数组时对数组元素赋以初值。例如:static int a[10]={0,1,2,3,4,5,6,7,8,9}; 可以只给一部
您可能关注的文档
- ch4 类的高级特性.ppt
- 第5-6章 方法和参数.ppt
- Java中static、this、super、final用法(转载).doc
- Java从入门到精通_第689章.ppt
- 22JAVA_多线程程序设计.ppt
- 第3章关于类和对象的进一步讨论-2.ppt
- 09面向对象进阶.ppt
- J2EE讲义5-异常处理.ppt
- 【小节训练】5.1 质量守恒定律.doc
- Java 语言 第四讲.ppt
- 湖泊水域清洁新篇章:2025年新能源电动清扫船产业发展趋势研究报告.docx
- 苹果iPhone15系列配置预测及市场表现前瞻报告.docx
- 设备日常维护保养培训课件.pptx
- 激光加工设备行业智能制造解决方案:2025年技术演进与未来五年市场前景.docx
- 金融科技行业合规性分析与2025年技术架构优化创新实践案例分析报告.docx
- 激光焊接设备行业现状解析及2025年技术升级趋势展望报告.docx
- 运动服饰电商2025年渠道布局可行性研究报告.docx
- 2025年网络安全试验发展分析及未来五到十年行业趋势报告.docx
- 常见英语词汇词义辨析测试卷.docx
- 机械加工铣削测试卷附答案.docx
文档评论(0)