- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
总结 判断对错 int a[][3]; Int b[]; void fun(int a[][3],int b[]); 对象数组 拷贝构造 Point::Point (Point p) { X=p.X; Y=p.Y; cout拷贝构造函数被调用endl; } this指针 Point::Point (Point p) { *this=p; cout拷贝构造函数被调用endl; } 作业: 请定义一个Box类,有数据成员length、width和height,函数成员根据需要独立设计,请设计一个该类的友元函数计算表面积。 * * * * * sList = new Student[size]; for(int i=0; isize; i++){ cout 请输入学生姓名:; cin _name; cout 请输入学生学号:; cin _index; cout 请输入学生成绩:; cin _score; sList[i] = Student(_name,_index,_score); } cout --------------------endl; cout 现有所有学生数据: endl; PrintAll(sList,size); return 0; } * 例5-23:当前对象的识别 class Student { private: string strName; unsigned long nIndex; int nScore; public: Student(string strName,unsigned long nIndex, int nScore){ this-strName = strName; this-nIndex = nIndex; this-nScore = nScore; } * 友元函数 某些情况下,为了效率和方便性,需要允许一个函数或类访问另一个类的私有成员,这时就需要声明友元。 友元在一定程度上破坏了类的封装和隐藏特性,除非在提高效率方面特别需要,一般不提倡使用友元。 在重载运算符为非成员函数时,通常将运算符函数声明为友元;在类中有另一个类的对象作为成员时,有时需要声明组合类为部件类的友元,方便对成员对象进行操作。 * 例5-28:友元函数的定义和使用 class Point{ private: double x,y; public: Point(double _x=0,double _y=0) :x(_x),y(_y) {} ~Point() {} friend double Distance(Point a, Point b); }; double Distance(Point a,Point b) { return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y)); } int main(){ Point p(0,0); Point q(1,4); cout Distance(p,q) endl; return 0; } * 友元类 友元类的使用类似于友元函数,只是此时声明的是一个类,被声明为友元的类可以访问声明友元的类的所有私有数据成员。 * 例5-29:友元类的定义和使用 #include iostream using namespace std; class B; class A{ private: double x; public: friend class B; A(double x) { this-x = x;} ~A() {} }; class B{ public: B() {} ~B() {} void print(const A a ) { cout a.x endl;} }; * int main(){ A tempA(10.0); B tempB; tempB.print(tempA); return 0; } 10 运行结果: * 小结 本章重点介绍抽象与分类的思想。首先介绍了函数的定义是实现。其次介绍了类的概念以及如何定义类,包括成员数据和成员函数的概念。也介绍了对象的初始化与销毁过程,特别强调了构造函数和析构函数,以及特殊的构造函数拷贝构造函数。 * * * * * * * * * * * * * * * * * * * * * * * 例5-17:设置并显示学生信息 class Student { private: //定义字符串,用于存
您可能关注的文档
最近下载
- 湖北省宜昌市部分省级示范高中2024-2025学年高一上学期期中联考数学试题含答案.docx VIP
- 考研真题 南京财经大学会计学院813会计学综合(微观经济学、会计学)历年考研真题汇编(含部分答案).docx VIP
- 2025年吉林通用航空职业技术学院单招职业适应性测试题库完美版.docx VIP
- 2025至2030中国航空配餐行业市场发展分析及竞争格局与发展趋势报告.docx
- 霍尼韦尔 教程及应用Honeywell QCS培训材料.pdf
- 2025年吉林通用航空职业技术学院单招职业适应性测试题库1套.docx VIP
- 2019ESCEAS血脂异常管理指南2025重点更新解读PPT课件.pptx VIP
- 湖北省宜昌市部分省级示范高中2024-2025学年高一上学期期中联考化学试题 含答案.docx VIP
- 2024年吉林通用航空职业技术学院单招职业适应性测试题库最新.docx VIP
- 2024新部编人教版小学一年级语文(上册)全册完整教案设计.pdf VIP
原创力文档


文档评论(0)