网站大量收购独家精品文档,联系QQ:2885784924

c++期末考试重点讲解.docx

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE \* MERGEFORMAT20 类 1.类的定义: Class 类名 { 数据成员; Public: 成员函数声明; }; 成员函数定义(一定要加作用域“void 类名::函数参数”) 例如:class Tdate{ //类的定义 Int year,mouth,day; Public: Void set(int y, int m, int d); Bool isLeapYear(); Void print(); }; //类结束一定要加分号 Void Date::set(int y, int m, int d){ //成员函数的实现 Yeat=y; mouth=m; day=d;} Int main(){ Date d; //定义对象 d.set ( 2000,12,6) //成员函数的调用(点的方式调用,因为成员函数从属于类) } @类函数必须先在类体中作原型声明,然后在类外定义,也就是说类体的位置应在函数定义之前,否则编译时会出错。虽然函数在类的外部定义,但在调用成员函数时会根据在类中声明的函数原型找到函数的定义(函数代码),从而执行该函数。 @注意:在类体中不允许对所定义的数据成员进行初始化。 2,对象(是类的变量) Data d; // 定义对象时后面什么都不带时 就调用默认构造函数 d.pritn(); //类对象调用方式 d为对象,拥有操作的数据实体 3.对象指针 例如: date *p; p-print(); //对象指针间接调用方式 (*p).print(); //一定要加括号否则会出错 @对象数组 定义:类名 对象数组名[20]; Date points[20]; 对象数组的每一个元素都是一个对象,有多少个对象就调用多少个析构函数 4、构造函数 构造函数的作用:定义函数时初始化对象 注意:默认构造函数和函数重载不能同时使用 析构函数特点:无返回值,无形参,函数名为类名 调用:自动调用 必需使用构造函数的情况: 当对象有多种初始化时,就需要重载 当类的成员是指针同时涉及分配空间(此情况一定要写析构函数) 当类中有子对象,常数据成员 当该类是派生类 三种构造函数: 1、默认构造函数 形式: 类名() //data() 没有返回值,函数名是类名,没有形参 *系统自带默认构造函数,当定义了一个默认构造函数之后,系统定义的构造函数将被覆盖。如果手工定义了无参构造函数,或者其他的任何构造函数,则系统不再提供默认的无参构造函数。 P302 2、带形参的构造函数 形式: 类名(形参) //data(int n) 没有返回值类型,函数名是类名,有形参,可重载 运用: Eg: student(string n=”no name”,int ssID=0):id(ssID), name(n) { } // id(ssID)对其他类进行初始化 P306 Eg: Class A {}; Class B {}; Class C{ A a; B b; Public C(int x,int y):b(X),a(y) { } }; Int main() { C c (15,9); } A 先定义,B先构造。调用时定义顺序说了算,构造对象说了不算 3、带拷贝构造函数 形式: 类名(类名 对象) //person (person $s) 调用:person p1(“jone”); @浅拷贝:就比如像引用类型,是指源对象与拷贝对象共用一份实 体,仅仅是引用的变量不同(即名称不同),对其中任何一个对像 的改变,都会影响另一个对象。 @深拷贝:就比如值类型,源对象与拷贝对象相互独立,其中任何 一个对象的改变都不会对另一个对象造成影响。所以,深拷贝还需要做动态内存分配。 9、析构函数 形式: ~类名(); //~A() //函数名:“~A” 功能:释放对象空间 顺序: 先定义的后析构 有一个析构函数 必需写析构函数的情况: 当类的成员是指针变量时,需要动态申请空间时 注意: 析构函数和拷贝构造函数成对出现。 析构函数的形式是唯一的,没有重载的析构函数,一个类中只有一个析构函数 Eg: class A{ Public: A(){ cout”A-”;} ~A(){ cout”-~A”;} } 4.常成员函数(const) 运用:只对对象进行读操作 形式: void data::print()const; //定义成员

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档