C程序设计基础6-类与对象_第1页
C程序设计基础6-类与对象_第2页
C程序设计基础6-类与对象_第3页
C程序设计基础6-类与对象_第4页
C程序设计基础6-类与对象_第5页
已阅读5页,还剩254页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第6章类与对象,6.1类与对象,6.2构造函数和析构函数,6.3类的其他成员,6.4类的包含,小结,类(Class)是面向对象程序设计(OOP)实现信息封装的基础。类是用户定义类型,也称为类类型每个类包含数据说明和一组操作数据或传递消息的函数。类的实例称为对象,第6章类与对象,面向对象编程的程序基本单位是类类是数据和操作数据的函数的封装类的对象使用自己的方法完成对数据的操作类可以隐藏数据和操作细节,对象通过类接口与外部通信,6.1类与对象,6.1类与对象,/排序函数原型voidSort(int,int);/数组相加函数原型voidAdd(int,int,int);intmain()inta10,b10;.Sort(a,10);Sort(b,10);Add(a,b,10);.,数组与数组类,封装,classArray/定义数组类int*ap;intlen;public:Array(intsize)/建立数组len=size;ap=newintsize;voidSort();/排序/重载算符+函数Arrayoperaor+(constArray/数组相加.,/排序函数原型voidSort(int,int);/数组相加函数原型voidAdd(int,int,int);intmain()inta10,b10;.Sort(a,10);Sort(b,10);Add(a,b,10);.,数组与数组类,封装,6.1类与对象,classArray/定义数组类int*ap;intlen;public:Array(intsize)/建立数组len=size;ap=newintsize;voidSort();/排序/重载算符+函数Arrayoperaor+(constArray/数组相加.,/排序函数原型voidSort(int,int);/数组相加函数原型voidAdd(int,int,int);intmain()inta10,b10;.Sort(a,10);Sort(b,10);Add(a,b,10);.,数组与数组类,classArray/定义数组类int*ap;intlen;public:Array(intsize)/建立数组len=size;ap=newintsize;voidSort();/排序/重载算符+函数Arrayoperaor+(constArray,类是数据和操作数据的函数的封装,封装,6.1类与对象,classArray/定义数组类int*ap;intlen;public:Array(intsize)/建立数组len=size;ap=newintsize;voidSort();/排序/重载算符+函数Arrayoperaor+(constArray/数组相加.,/排序函数原型voidSort(int,int);/数组相加函数原型voidAdd(int,int,int);intmain()inta10,b10;.Sort(a,10);Sort(b,10);Add(a,b,10);.,数组与数组类,对象使用自己的方法对数据操作,a.Sort();b.Sort();/调用排序方法a=a+b;/数组相加,封装,6.1类与对象,通信,6.1类与对象,对象通过类接口与外部通信,通信,6.1类与对象,6.1.1定义类和对象,/例6-1一个类的例子#includeusingnamespacestd;classTdatepublic:voidSet(intm,intd,inty)month=m;day=d;year=y;intIsLeapYear()return(year%4=0,6.1.1定义类和对象,/例6-1一个类的例子#includeusingnamespacestd;classTdatepublic:voidSet(intm,intd,inty)month=m;day=d;year=y;intIsLeapYear()return(year%4=0,classTdatepublic:voidSet(intm,intd,inty)month=m;day=d;year=y;intIsLeapYear()return(year%4=0,6.1.1定义类和对象,/例6-1一个类的例子#includeusingnamespacestd;classTdatepublic:voidSet(intm,intd,inty)month=m;day=d;year=y;intIsLeapYear()return(year%4=0,classTdatepublic:voidSet(intm,intd,inty)month=m;day=d;year=y;intIsLeapYear()return(year%4=0,关键字定义一个类,标识符类名,class,struct,union都可以定义一个类:class缺省说明时,其成员被认为是私有的struct若不特别指出,其所有成员都是公有的union其所有成员都是公有的,且不能更改,6.1.1定义类和对象,/例6-1一个类的例子#includeusingnamespacestd;classTdatepublic:voidSet(intm,intd,inty)month=m;day=d;year=y;intIsLeapYear()return(year%4=0,a,Tdate类型的一个对象(实例),6.1.1定义类和对象,/例6-1一个类的例子#includeusingnamespacestd;classTdatepublic:voidSet(intm,intd,inty)month=m;day=d;year=y;intIsLeapYear()return(year%4=0,类由成员构成:数据成员描述对象的属性成员函数描述对象的方法,6.1.1定义类和对象,/例6-1一个类的例子#includeusingnamespacestd;classTdatepublic:voidSet(intm,intd,inty)month=m;day=d;year=y;intIsLeapYear()return(year%4=0,intmonth;intday;intyear;,数据成员,6.1.1定义类和对象,/例6-1一个类的例子#includeusingnamespacestd;classTdatepublic:voidSet(intm,intd,inty)month=m;day=d;year=y;intIsLeapYear()return(year%4=0,voidSet(intm,intd,inty)month=m;day=d;year=y;intIsLeapYear()return(year%4=0,类中定义成员函数内联函数处理,6.1.1定义类和对象,/例6-1一个类的例子#includeusingnamespacestd;classTdatepublic:voidSet(intm,intd,inty)month=m;day=d;year=y;intIsLeapYear()return(year%4=0,voidSet(intm,intd,inty);intIsLeapYear();voidPrint();,在类外定义成员函数,voidTdate:Set(intm,intd,inty)month=m;day=d;year=y;intTdate:IsLeapYear()return(year%4=0,6.1.1定义类和对象,/例6-1一个类的例子#includeusingnamespacestd;classTdatepublic:voidSet(intm,intd,inty)month=m;day=d;year=y;intIsLeapYear()return(year%4=0,成员的性质由关键字public、protected、private决定public公有公有段的成员是提供给外部的接口protected保护保护段成员在该类和它的派生类中可见private私有私有段成员仅在类中可见各段中既可以包含数据成员,也可以包含成员函数,6.1.1定义类和对象,/例6-1一个类的例子#includeusingnamespacestd;classTdatepublic:voidSet(intm,intd,inty)month=m;day=d;year=y;intIsLeapYear()return(year%4=0,类说明的一般形式为:class类名public:公有段数据成员和成员函数;protected:保护段数据成员和成员函数;private:私有数据成员和成员函数;,6.1.1定义类和对象,类说明的一般形式为:class类名public:公有段数据成员和成员函数;protected:保护段数据成员和成员函数;private:私有数据成员和成员函数;,注:1.允许已定义类名出现在类的说明中,例:classlinklink*next;,/声明一个指向link类类型的指针,6.1.1定义类和对象,类说明的一般形式为:class类名public:公有段数据成员和成员函数;protected:保护段数据成员和成员函数;private:私有数据成员和成员函数;,注:1.允许已定义类名出现在类的说明中,例:classX;classYXdataMember;,/声明一个类类型数据成员,6.1.1定义类和对象,类说明的一般形式为:class类名public:公有段数据成员和成员函数;protected:保护段数据成员和成员函数;private:私有数据成员和成员函数;,注:1.允许已定义类名出现在类的说明中,例:classXXdataMember;,/错误,错误无穷递归结构,6.1.1定义类和对象,类说明的一般形式为:class类名public:公有段数据成员和成员函数;protected:保护段数据成员和成员函数;private:私有数据成员和成员函数;,注:1.允许已定义类名出现在类的说明中,2.类可以无名,用于直接声明对象,例:classmydate;,/直接声明一个对象,6.1.1定义类和对象,类说明的一般形式为:class类名public:公有段数据成员和成员函数;protected:保护段数据成员和成员函数;private:私有数据成员和成员函数;,注:1.允许已定义类名出现在类的说明中,2.类可以无名,用于直接声明对象,/例6-2#includeusingnamespacestd;classempty;intmain()emptye1;cout,3.类是一个程序包。可以只有数据成员或只有成员函数,或者为空。,一个空类,6.1.1定义类和对象,类说明的一般形式为:class类名public:公有段数据成员和成员函数;protected:保护段数据成员和成员函数;private:私有数据成员和成员函数;,注:1.允许已定义类名出现在类的说明中,2.类可以无名,用于直接声明对象,3.类是一个程序包。可以只有数据成员或只有成员函数,或者为空。,/例6-2#includeusingnamespacestd;classempty;intmain()emptye1;cout,空类对象,6.1.1定义类和对象,类说明的一般形式为:class类名public:公有段数据成员和成员函数;protected:保护段数据成员和成员函数;private:私有数据成员和成员函数;,注:1.允许已定义类名出现在类的说明中,2.类可以无名,用于直接声明对象,/例6-2#includeusingnamespacestd;classempty;intmain()emptye1;cout”运算符访问对象成员,6.1.2访问对象成员,/例6-3访问对象的公有成员#includeusingnamespacestd;classTclasspublic:intx,y;voidprint()coutx“,”运算符访问对象成员,6.1.2访问对象成员,/例6-3访问对象的公有成员#includeusingnamespacestd;classTclasspublic:intx,y;voidprint()coutx“,”运算符访问对象成员,6.1.2访问对象成员,/例6-3访问对象的公有成员#includeusingnamespacestd;classTclasspublic:intx,y;voidprint()coutx“,”y);intmain()Tclasstest,*pt=new(Tclass);pt-x=100;pt-y=200;pt-print();test.x=150;test.y=450;test.print();coutx+y=y);intmain()Tclasstest,*pt=new(Tclass);pt-x=100;pt-y=200;pt-print();test.x=150;test.y=450;test.print();coutx+y=y);intmain()Tclasstest,*pt=new(Tclass);pt-x=100;pt-y=200;pt-print();test.x=150;test.y=450;test.print();coutx+y=y);intmain()Tclasstest,*pt=new(Tclass);pt-x=100;pt-y=200;pt-print();test.x=150;test.y=450;test.print();coutx+y=y);intmain()Tclasstest,*pt=new(Tclass);pt-x=100;pt-y=200;pt-print();test.x=150;test.y=450;test.print();coutx+y=add(,向函数传递对象地址,6.1.3this指针,#include/例6-5usingnamespacestd;classSimpleintx,y;public:voidsetXY(inta,intb)x=a;y=b;voidprintXY()coutx,yendl;intmain()Simpleobj1,obj2,obj3;obj1.setXY(10,15);obj1.printXY();obj2.setXY(20,25);obj2.printXY();obj3.setXY(30,35);obj3.printXY();,6.1.3this指针,#include/例6-5usingnamespacestd;classSimpleintx,y;public:voidsetXY(inta,intb)x=a;y=b;voidprintXY()coutx,yendl;intmain()Simpleobj1,obj2,obj3;obj1.setXY(10,15);obj1.printXY();obj2.setXY(20,25);obj2.printXY();obj3.setXY(30,35);obj3.printXY();,6.1.3this指针,#include/例6-5usingnamespacestd;classSimpleintx,y;public:voidsetXY(inta,intb)x=a;y=b;voidprintXY()coutx,yendl;intmain()Simpleobj1,obj2,obj3;obj1.setXY(10,15);obj1.printXY();obj2.setXY(20,25);obj2.printXY();obj3.setXY(30,35);obj3.printXY();,6.1.3this指针,#include/例6-5usingnamespacestd;classSimpleintx,y;public:voidsetXY(inta,intb)x=a;y=b;voidprintXY()coutx,yendl;intmain()Simpleobj1,obj2,obj3;obj1.setXY(10,15);obj1.printXY();obj2.setXY(20,25);obj2.printXY();obj3.setXY(30,35);obj3.printXY();,向哪个对象的数据成员赋值?,6.1.3this指针,#include/例6-5usingnamespacestd;classSimpleintx,y;public:voidsetXY(inta,intb)x=a;y=b;voidprintXY()coutx,yy=b;,obj1.setXY(10,15,成员函数隐含定义this指针接受调用对象的地址,6.1.3this指针,#include/例6-5usingnamespacestd;classSimpleintx,y;public:voidsetXY(inta,intb)x=a;y=b;voidprintXY()coutx,yy=b;,this指针不能显式声明,6.1.3this指针,#include/例6-5usingnamespacestd;classSimpleintx,y;public:voidsetXY(inta,intb)x=a;y=b;voidprintXY()coutx,yy=b;,this指针不能显式声明可以显式使用,obj1.setXY(10,15,6.1.3this指针,#include/例6-5usingnamespacestd;classSimpleintx,y;public:voidsetXY(inta,intb)x=a;y=b;voidprintXY()coutx,yendl;intmain()Simpleobj1,obj2,obj3;obj1.setXY(10,15);obj1.printXY();obj2.setXY(20,25);obj2.printXY();obj3.setXY(30,35);obj3.printXY();,obj1.x,obj1.y,通过调用函数的对象this指针获取对象地址,6.1.3this指针,#include/例6-5usingnamespacestd;classSimpleintx,y;public:voidsetXY(inta,intb)x=a;y=b;voidprintXY()coutx,yendl;intmain()Simpleobj1,obj2,obj3;obj1.setXY(10,15);obj1.printXY();obj2.setXY(20,25);obj2.printXY();obj3.setXY(30,35);obj3.printXY();,10,15,obj1.x,obj1.y,6.1.3this指针,#include/例6-5usingnamespacestd;classSimpleintx,y;public:voidsetXY(inta,intb)x=a;y=b;voidprintXY()coutx,yendl;intmain()Simpleobj1,obj2,obj3;obj1.setXY(10,15);obj1.printXY();obj2.setXY(20,25);obj2.printXY();obj3.setXY(30,35);obj3.printXY();,10,15,obj1.x,obj1.y,6.1.3this指针,#include/例6-5usingnamespacestd;classSimpleintx,y;public:voidsetXY(inta,intb)x=a;y=b;voidprintXY()coutx,yendl;intmain()Simpleobj1,obj2,obj3;obj1.setXY(10,15);obj1.printXY();obj2.setXY(20,25);obj2.printXY();obj3.setXY(30,35);obj3.printXY();,10,15,obj1.x,obj1.y,在obj1上操作,10,1520,2530,35,6.1.3this指针,#include/例6-5usingnamespacestd;classSimpleintx,y;public:voidsetXY(inta,intb)x=a;y=b;voidprintXY()coutx,yendl;intmain()Simpleobj1,obj2,obj3;obj1.setXY(10,15);obj1.printXY();obj2.setXY(20,25);obj2.printXY();obj3.setXY(30,35);obj3.printXY();,10,15,obj1.x,obj1.y,10,1520,2530,35,6.1.3this指针,#include/例6-5usingnamespacestd;classSimpleintx,y;public:voidsetXY(inta,intb)x=a;y=b;voidprintXY()coutx,yendl;intmain()Simpleobj1,obj2,obj3;obj1.setXY(10,15);obj1.printXY();obj2.setXY(20,25);obj2.printXY();obj3.setXY(30,35);obj3.printXY();,10,15,obj1.x,obj1.y,10,1520,2530,35,在obj2上操作,6.1.3this指针,#include/例6-5usingnamespacestd;classSimpleintx,y;public:voidsetXY(inta,intb)x=a;y=b;voidprintXY()coutx,yendl;intmain()Simpleobj1,obj2,obj3;obj1.setXY(10,15);obj1.printXY();obj2.setXY(20,25);obj2.printXY();obj3.setXY(30,35);obj3.printXY();,10,15,obj1.x,obj1.y,20,25,obj2.x,obj2.y,10,1520,2530,35,在obj2上操作,6.1.3this指针,#include/例6-5usingnamespacestd;classSimpleintx,y;public:voidsetXY(inta,intb)x=a;y=b;voidprintXY()coutx,yendl;intmain()Simpleobj1,obj2,obj3;obj1.setXY(10,15);obj1.printXY();obj2.setXY(20,25);obj2.printXY();obj3.setXY(30,35);obj3.printXY();,10,15,obj1.x,obj1.y,20,25,obj2.x,obj2.y,10,1520,2530,35,6.1.3this指针,#include/例6-5usingnamespacestd;classSimpleintx,y;public:voidsetXY(inta,intb)x=a;y=b;voidprintXY()coutx,yendl;intmain()Simpleobj1,obj2,obj3;obj1.setXY(10,15);obj1.printXY();obj2.setXY(20,25);obj2.printXY();obj3.setXY(30,35);obj3.printXY();,10,15,obj1.x,obj1.y,20,25,obj2.x,obj2.y,10,1520,2530,35,在obj2上操作,6.1.3this指针,#include/例6-5usingnamespacestd;classSimpleintx,y;public:voidsetXY(inta,intb)x=a;y=b;voidprintXY()coutx,yendl;intmain()Simpleobj1,obj2,obj3;obj1.setXY(10,15);obj1.printXY();obj2.setXY(20,25);obj2.printXY();obj3.setXY(30,35);obj3.printXY();,10,15,obj1.x,obj1.y,20,25,obj2.x,obj2.y,10,1520,2530,35,在obj2上操作,6.1.3this指针,#include/例6-5usingnamespacestd;classSimpleintx,y;public:voidsetXY(inta,intb)x=a;y=b;voidprintXY()coutx,yendl;intmain()Simpleobj1,obj2,obj3;obj1.setXY(10,15);obj1.printXY();obj2.setXY(20,25);obj2.printXY();obj3.setXY(30,35);obj3.printXY();,10,15,obj1.x,obj1.y,20,25,obj2.x,obj2.y,10,1520,2530,35,6.1.3this指针,#include/例6-5usingnamespacestd;classSimpleintx,y;public:voidsetXY(inta,intb)x=a;y=b;voidprintXY()coutx,yendl;intmain()Simpleobj1,obj2,obj3;obj1.setXY(10,15);obj1.printXY();obj2.setXY(20,25);obj2.printXY();obj3.setXY(30,35);obj3.printXY();,10,15,obj1.x,obj1.y,20,25,obj2.x,obj2.y,10,1520,2530,35,6.1.3this指针,#include/例6-5usingnamespacestd;classSimpleintx,y;public:voidsetXY(inta,intb)x=a;y=b;voidprintXY()coutx,yendl;intmain()Simpleobj1,obj2,obj3;obj1.setXY(10,15);obj1.printXY();obj2.setXY(20,25);obj2.printXY();obj3.setXY(30,35);obj3.printXY();,10,15,obj1.x,obj1.y,20,25,obj2.x,obj2.y,30,35,obj3.x,obj3.y,10,1520,2530,35,6.1.3this指针,#include/例6-5usingnamespacestd;classSimpleintx,y;public:voidsetXY(inta,intb)x=a;y=b;voidprintXY()coutx,yendl;intmain()Simpleobj1,obj2,obj3;obj1.setXY(10,15);obj1.printXY();obj2.setXY(20,25);obj2.printXY();obj3.setXY(30,35);obj3.printXY();,10,15,obj1.x,obj1.y,20,25,obj2.x,obj2.y,30,35,obj3.x,obj3.y,10,1520,2530,35,6.1.3this指针,#include/例6-5usingnamespacestd;classSimpleintx,y;public:voidsetXY(inta,intb)x=a;y=b;voidprintXY()coutx,yendl;intmain()Simpleobj1,obj2,obj3;obj1.setXY(10,15);obj1.printXY();obj2.setXY(20,25);obj2.printXY();obj3.setXY(30,35);obj3.printXY();,10,15,obj1.x,obj1.y,20,25,obj2.x,obj2.y,30,35,obj3.x,obj3.y,10,1520,2530,35,6.1.3this指针,#include/例6-5usingnamespacestd;classSimpleintx,y;public:voidsetXY(inta,intb)x=a;y=b;voidprintXY()coutx,yendl;intmain()Simpleobj1,obj2,obj3;obj1.setXY(10,15);obj1.printXY();obj2.setXY(20,25);obj2.printXY();obj3.setXY(30,35);obj3.printXY();,10,15,obj1.x,obj1.y,20,25,obj2.x,obj2.y,30,35,obj3.x,obj3.y,10,1520,2530,35,6.1.3this指针,#includeusingnamespacestd;/例6-5classSimpleintx,y;public:voidsetXY(inta,intb)x=a;y=b;voidprintXY()coutx,yendl;intmain()Simpleobj1,obj2,obj3;obj1.setXY(10,15);obj1.printXY();obj2.setXY(20,25);obj2.printXY();obj3.setXY(30,35);obj3.printXY();,10,15,obj1.x,obj1.y,20,25,obj2.x,obj2.y,30,35,obj3.x,obj3.y,10,1520,2530,35,成员函数拥有this指针,6.2构造函数和析构函数,构造函数是用于创建对象的特殊成员函数当创建对象时,系统自动调用构造函数构造函数的作用是:为对象分配空间;对数据成员赋初值;请求其他资源没有用户定义的构造函数时,系统提供缺省版本的构造函数构造函数名与类名相同:类名构造函数可以重载构造函数可以有任意类型的参数,但没有返回类型,6.2构造函数和析构函数,6.2构造函数和析构函数,析构函数是用于取消对象的成员函数当一个对象作用域结束时,系统自动调用析构函数析构函数的作用是进行清除对象,释放内存等没有用户定义析构函数时,系统提供缺省版本的析构函数析构函数名为:类名析构函数没有参数,也没有返回类型,6.2构造函数和析构函数,例:classAApublic:AA()AA();voidtest()intx,y;AAt1,t2;return;,6.2构造函数和析构函数,6.2构造函数和析构函数,例:classAApublic:AA()AA();voidtest()intx,y;AAt1,t2;return;,6.2构造函数和析构函数,构造函数,6.2构造函数和析构函数,例:classAApublic:AA()AA();voidtest()intx,y;AAt1,t2;return;,6.2构造函数和析构函数,析构函数,6.2构造函数和析构函数,例:classAApublic:AA()AA();voidtest()intx,y;AAt1,t2;return;,6.2构造函数和析构函数,/声明变量时开辟两个整型存储空间,6.2构造函数和析构函数,例:classAApublic:AA()AA();voidtest()intx,y;AAt1,t2;return;,6.2构造函数和析构函数,/两次调用构造函数,创建对象,6.2构造函数和析构函数,例:classAApublic:AA()AA();voidtest()intx,y;AAt1,t2;return;,6.2构造函数和析构函数,6.2构造函数和析构函数,/两次调用构造函数,创建对象,例:classAApublic:AA()AA();voidtest()intx,y;AAt1,t2;return;,6.2构造函数和析构函数,/两次调用析构函数,撤消对象,6.2构造函数和析构函数,例:classAApublic:AA()AA();voidtest()intx,y;AAt1,t2;return;,6.2构造函数和析构函数,6.2构造函数和析构函数,/两次调用析构函数,撤消对象,例:classAApublic:AA()AA();voidtest()intx,y;AAt1,t2;return;,6.2构造函数和析构函数,/变量x,y生存期结束,6.2构造函数和析构函数,/两次调用析构函数,撤消对象,6.2.1简单构造函数和析构函数,构造函数原型类名:类名(参数表);析构函数原型类名:类名();,6.2.1简单构造函数和析构函数,#include/例6-6usingnamespacestd;classDatepublic:Date();Date();voidSetDate(inty,intm,intd);intIsLeapYear();voidPrintDate();private:intyear,month,day;Date:Date()coutDateobjectinitialized.n;/无参构造函数Date:Date()coutDateobjectdestroyed.n;/析构函数voidDate:SetDate(inty,intm,intd)year=y;month=m;day=d;intDate:IsLeapYear()return(year%4=0,6.2.1简单构造函数和析构函数,#include/例6-6usingnamespacestd;classDatepublic:Date();Date();voidSetDate(inty,intm,intd);intIsLeapYear();voidPrintDate();private:intyear,month,day;Date:Date()coutDateobjectinitialized.n;/无参构造函数Date:Date()coutDateobjectdestroyed.n;/析构函数voidDate:SetDate(inty,intm,intd)year=y;month=m;day=d;intDate:IsLeapYear()return(year%4=0,Date();,Date:Date()coutDateobjectinitialized.n;/无参构造函数,Dated;,6.2.1简单构造函数和析构函数,#include/例6-6usingnamespacestd;classDatepublic:Date();Date();voidSetDate(inty,intm,intd);intIsLeapYear();voidPrintDate();private:intyear,month,day;Date:Date()coutDateobjectinitialized.n;/无参构造函数Date:Date()coutDateobjectdestroyed.n;/析构函数voidDate:SetDate(inty,intm,intd)year=y;month=m;day=d;intDate:IsLeapYear()return(year%4=0,Date();,Date:Date()coutDateobjectdestroyed.n;/析构函数,6.2.1简单构造函数和析构函数,#include/例6-6usingnamespacestd;classDatepublic:Date();Date();voidSetDate(inty,intm,intd);intIsLeapYear();voidPrintDate();private:intyear,month,day;Date:Date()coutDateobjectinitialized.n;/无参构造函数Date:Date()coutDateobjectdestroyed.n;/析构函数voidDate:SetDate(inty,intm,intd)year=y;month=m;day=d;intDate:IsLeapYear()return(year%4=0,6.2.1简单构造函数和析构函数,#include/例6-6usingnamespacestd;classDatepublic:Date();Date();voidSetDate(inty,intm,intd);intIsLeapYear();voidPrintDate();private:intyear,month,day;Date:Date()coutDateobjectinitialized.n;/无参构造函数Date:Date()coutPrintDate();deletepd;,6.2.1简单构造函数和析构函数,#include/例6-6usingnamespacestd;classDatepublic:Date();Date();voidSetDate(inty,intm,intd);intIsLeapYear();voidPrintDate();private:intyear,month,day;Date:Date()coutDateobjectinitialized.n;/无参构造函数Date:Date()coutPrintDate();deletepd;,Date*pd=new(Date);,Date();,Date:Date()coutDateobjectinitialized.n;/无参构造函数,6.2.1简单构造函数和析构函数,#include/例6-6usingnamespacestd;classDatepublic:Date();Date();voidSetDate(inty,intm,intd);intIsLeapYear();voidPrintDate();private:intyear,month,day;Date:Date()coutDateobjectinitialized.n;/无参构造函数Date:Date()coutPrintDate()

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论