* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 要点: 应注意:同一问题可能有不同的抽象结果——根据解决问题的要求不同,产生的抽象成员可能不同。 * * * * * * * * * * * * * * * * * * * * * * * * 构造函数的实现: Clock::Clock(int NewH, int NewM, int NewS) { Hour= NewH; Minute= NewM; Second= NewS; } 建立对象时构造函数的作用: int main() { Clock c(0,0,0); //隐含调用构造函数,将初始值作为实参。 c.ShowTime(); } * * 拷贝构造函数 拷贝构造函数是一种特殊的构造函数,其形参为本类的对象引用。 class 类名 { public : 类名(形参);//构造函数 类名(类名 对象名);//拷贝构造函数 ... }; 类名::类(类名 对象名)//拷贝构造函数的实现 { 函数体 } 构造函数和析构函数 * 拷贝构造函数(例1-2) class Point { public: Point(int xx=0,int yy=0){X=xx; Y=yy;} Point(Point p); int GetX() {return X;} int GetY() {return Y;} private: int X,Y; }; 构造函数和析构函数 Point::Point (Point p) { X=p.X; Y=p.Y; cout拷贝构造函数被调用endl; } * * 拷贝构造函数(例1-2) 当用类的一个对象去初始化该类的另一个对象时系统自动调用拷贝构造函数实现拷贝赋值。 int main() { Point A(1,2); Point B(A); //拷贝构造函数被调用 coutB.GetX()endl; } 构造函数和析构函数 * 拷贝构造函数(例1-2) 若函数的形参为类对象,调用函数时,实参赋值给形参,系统自动调用拷贝构造函数。例如: void fun1(Point p) { coutp.GetX()endl; } int main() { Point A(1,2); fun1(A); //调用拷贝构造函数 } 构造函数和析构函数 * 拷贝构造函数(例1-2) 当函数的返回值是类对象时,系统自动调用拷贝构造函数。例如: Point fun2() { Point A(1,2); return A; //调用拷贝构造函数 } int main() { Point B; B=fun2(); } 构造函数和析构函数 * 默认的拷贝构造函数 如果程序员没有为类声明拷贝初始化构造函数,则编译器自己生成一个默认的拷贝构造函数。 这个构造函数执行的功能是:用作为初始值的对象的每个数据成员的值,初始化将要建立的对象的对应数据成员。 构造函数和析构函数 * 析构函数 完成对象被删除前的一些清理工作。 在对象的生存期结束的时刻系统自动调用它,然后再释放此对象所属的空间。 如果程序中未声明析构函数,编译器将自动产生一个默认的析构函数。 构造函数和析构函数 * 构造函数和析构函数举例 #includeiostream using namespace std; class Point { public: Point(int xx,int yy); ~Point(); //...其他函数原型 private: int X,int Y; }; 构造函数和析构函数 Point::Point(int xx,int yy) { X=xx; Y=yy; } Point::~Point() { } //...其他函数的实现略 * * 组合的概念 类中的成员数据是另一个类的对象。 可以在已有抽象的基础上实现更复杂的抽象。 类 的 组 合 * 举例 class Point { private: float x,y; //点的坐标 public: Point(float h,float v); //构造函数 float GetX(void); //取X坐标 float GetY(void); //取Y坐标 void Draw(void); //在(x,y)处画点 }; //...函数的实现略
您可能关注的文档
- 第二课哭泣的自然预案.ppt
- 第五篇第一、二章泌尿系统疾病和肾小球疾病总论题库.ppt
- 第二课颅脑损伤病人的护理预案.ppt
- 第一章教案预案.docx
- 第二课时摆的故事和启示(简化)预案.ppt
- 第二课时-检测生物组织中糖类、脂肪和蛋白质预案.ppt
- 第五压力加工先进工艺简介题库.ppt
- 第二课睡眠与健康预案.ppt
- 第二课学案2预案.ppt
- 第五章 钢的热处理题库.ppt
- 初中九年级英语Unit 13环境保护主题听说整合教学设计.docx
- 85分式方程及其解法课件人教版数学八年级上册.pptx
- 基于核心素养的博物馆主题说明文写作教学设计与实施——以九年级英语为例.docx
- 53一次函数的意义第课时课件浙教版八年级数学上册.pptx
- 大单元视角下“人民民主政权的巩固”与历史关键能力进阶教学设计——以初中历史中考复习课为例.docx
- 五年级数学下册典型例题解析人教版期末重点攻克.pptx
- 小学四年级信息技术《智启信息时代:查找网上信息的基石》教学设计及反思.docx
- 大疆域·大人口·大战略:中国国家空间认知的初步建构.docx
- 人教版(一年级起点)小学英语四年级上册Revision 1 Lesson 2教学设计.docx
- 大单元结构化复习:旧民主主义革命时期(18401919)的内忧外患与救亡图存.docx
最近下载
- 2024—2025学年江苏省苏州市工业园区星港初三零模数学试卷.doc VIP
- TG-NET TG-NET 全万兆核心交换机 S6200-16TF 说明书用户手册.pdf
- 天津执业药师继续教育《中药就在您身边(一)》习题答案.docx VIP
- 在公司2026年度党风廉政建设和反腐败工作会上的讲话.docx VIP
- 伟达olt e3320t cli命行说明用户手册命令行操作分册.pdf VIP
- KYT危险预知训练.ppt VIP
- Barsetto咖啡机BAE-01C说明书用户手册.pdf
- 鲁科版高中数学人教版目录.pdf VIP
- 天津执业药师继续教育《儿科常用药物概要》习题答案.docx VIP
- 微机综合保护装置 说明书 3详解.pdf VIP
原创力文档

文档评论(0)