- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基本概念
常量:可使用#define和const来定义各种不同的常量.
注释符://单行注释/*多行注释*/.
枚举常量
枚举常量的定义:enum 常量名 {枚举表}.如:enum day {Sun=7,Mon=1,Tue,Wed, Thu,Fri,Sat}.默认是第一个枚举符为0,向后依次加一递增.枚举符显示赋值后,值为赋值数据,后面的枚举符如果采用默认,则是前面一个枚举符的值加一.
枚举量的定义:enum 枚举名 枚举量名表;如enum day d1;枚举量赋值,可以是枚举表的任意一个枚举符.
数组
int a[2][3]={{1,2,3,},{2,3,4}};
int a[2][3]={{1},{2,3}};
int a[4]; //默认全部元素初始化为0//说明部分
class TDate{
public://共有成员//C++中有private,public,protected三种成员.
void SetDate(int y,int m,int d);
int IsLeepYear();
void Print();
private://私有成员
int year;
int month;
int day;
};
//实现部分
void TDate::SetDate(int year,int month,int date){
this-year=year;
this-month=month;
this-day=day;
}
int TDate::IsLeepYear(){
return (year%4||!year%100)||(!year%400);
}
void TDate::Print(){
coutyear,month,dayendl;
}
对象的定义和成员表示
void main(){
TDate date(2009,9,7);
TDate rDate=date;
TDate* pDate=date;
coutrDate.year-pDate-month-date.dayendl;
}
输出结果:2009-9-7↙
构造函数
构造函数
构造函数是一种成员函数,说明在类体内.构造函数区别于其他成员函数的是构造函数的函数名和类名必须是相同的.并且构造函数是没有返回值的(区别void).
构造函数多用于创建对象时系统自动调用,也可以在程序中调用构造函数创建无名对象.
默认构造函数
默认构造函数是没有参数的.其定义格式如下:
类名::默认构造函数名(){
函数体
}
默认构造函数可以由用户自定义.当程序定义一个没有初始化的对象时,系统自动调用默认构造函数创建对象(仅仅是创建).当该对象是外部的或者静态的对象,其所有数据是被初始化为0.当该对象是局部变量时,该对象的数据成员是没有意义的.
拷贝构造函数和默认拷贝构造函数
拷贝构造函数是指用一个已经初始化的对象通过构造函数去初始化另一个同类对象.拷贝构造函数只能有一个参数,并且该参数必须是该类的对象的引用.
如果一个类体内未定义拷贝构造函数,系统会自动生成一个默认拷贝构造函数.默认拷贝构造函数的功能是将引用的对象按位给当前对象初始化.
拷贝构造函数的其他用处
在使用对象作为函数的参数的情况下,当实参值传递给形参时,系统自动调用拷贝构造函数来实现这一传递.
当对象作为函数的返回值时,系统自动调用拷贝构造函数用返回值创建一个临时对象,然后在将这个临时对象赋值给调用函数中的接收对象.
构造函数的构造顺序
构造函数先调用基类的构造函数(如果是多继承,则按照继承的先后顺序进行调用),如果有子对象在调用子对象的构造函数(如果有多个子对象,则按照子对象在类中声明的顺序进行构造),最后是派生类构造函数.析构函数顺序与构造函数顺序严格相反.
析构函数
析构函数
析构函数同样是成员函数.析构函数的函数名是~类名.其功能是在于释放对象空间.当对象的生存期到或者是堆对象使用delete关键字释放的时候系统会自动调用析构函数.如果类中没有声明析构函数,系统会自动创建一个默认析构函数.
默认析构函数
默认析构函数与用户自定义的析构函数的区别在于:默认析构函数是没有返回值的,没有参数也不能重载.一个类中,只能有一个析构函数.
析构函数的析构顺序
析构函数按照与构造相反的顺序进行析构.对一个对象的析构,应先调用派生类的析构函数,如果有子对象,在调用子对象析构函数,最后调用基类析构函数.
数据成员
静态数据成员
静态数据成员被定义后,必须进行初始化.初始化在类体外进行.静态数据成员是类所有对象的共用数据空间,在编译时分配空间,程序结束后,空间被释放.
静态数据成员的初始化:
class obj{
private
您可能关注的文档
最近下载
- 电气联锁保护培训课件.pptx VIP
- 视觉引导类应用总结( 包含详细的旋转中心计算公式).pptx VIP
- 鲁棒控制-01.ppt VIP
- 第一单元-第2课-《国色之韵》课件+-2025—2026学年+人教版(2024)初中美术八年级上册.pptx VIP
- 中医康复技术专业专业自评报告.docx VIP
- 断路器及GIS多型号液压操动机构动作原理及故障处理方法.pptx
- 水质石油类的测定紫外分光光度法.pdf VIP
- 北师大版五年级上册数学第一单元测试卷.doc VIP
- GB50974-2014 消防给水及消火栓系统技术规范.docx
- 2024年高考作文哲思化写作素材4 ——《西方现代思想讲义》(弗洛伊德、萨特).docx VIP
文档评论(0)