如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
有关于类的定义赋值与调用总结HYPERLINK"JavaScript:d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(saveit=window.open('http://wz.csdn.net/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'saveit','scrollbars=no,width=590,height=300,left=75,top=20,status=no,resizable=yes'));saveit.focus();"\o"收藏到我的网摘中,并分享给我的朋友"收藏本类的成员函数:定义:类中声明:返回值类型函数名(参数表);//写了函数体就自动成为内联函数,这就是隐式声明。或者也可以不写,先在类中声明,在类外定义。类外定义:返回值类型类名::函数名(参数表){…};//前面加inline就表示内联函数,这是显式声明。调用:对象名.公有成员函数名(参数表)//在这里只能访问到类的公有成员例如:类中声明:voidSetTime(int,int,int);类外定义:inlinevoidClock::SetTime(intn,ints,intt){Hour=h;Minute=m;Second=s;}myClock.SetTime()声明对象:定义:类名对象名;例如:ClockmyClock;本类的构造函数:定义:类中声明:类名(参数表);//可以利用重载,定义无参、有参的构造函数,赋初始值。类外定义:类名::类名(参数表){…}例如:Clock::Clock(){Hour=0;Minute=0;Second=0}//无参的默认构造函数Clock::Clock(inth,intm,ints){Hour=h;Minute=m;Second=s;}//有参的构造函数本类的拷贝构造函数:定义:类中声明:类名(类名&对象名);类外定义:类名(类名&对象名){类成员的初始化…成员名=对象名.成员名}//其实系统会自动生成一个默认的,它把具有构造函数初始值的数据成员都复制到新建立的对象中,相当于克隆。如果自己定义的话,它其实就是使用一个已经存在的的对象,去初始化同类的一个新对象例如:Poine::Point(Point&p){X=p.X;Y=p.Y;}//注意这里是用参数表中的对象成员来初始化新对象使用:类名新对象(旧对象)例如:PointA(B);//此时被自动调用本类的析构函数:定义:类中声明:~类名();类外定义:类名::~类名(){…}//注意:它无参数,函数体中做后续工作例如:~Clock(){…}~Poing(){countP--;}组合类_构造函数:定义:类中声明:类名(形参表);类外定义:类名::类名(所有形参):内嵌对象1(形参表),内嵌对象2(形参表)...{利用子类对象进行母类的成员初始化…}//其实很简单,在第一个形参表中将所有要用到的参数全部写全。然后在:后面将内嵌对象都列出来,参数写上。在函数体中利用剩下的参数对剩下的母类成员赋值例如:Line(Pointxp1,Pointxp2);Line::Line(Poinexp1,Pointxp2):p1(xp1),p2(xp2){x=p1.GetX()–p2.GeX();len=sqrt(x*x);}组合类_拷贝构造函数:定义:类中声明:类名(类名&对象名);类外定义:类名::类名(类名&对象名):内嵌对象1(形参表),内嵌对象2(形参表)...{利用子类对象进行母类的成员初始化…}//与组合类_构造函数的类似例如:Line::Line(Line&L):p1(L.p1),p2(L.p2){len=L.len;}本类的静态数据成员:定义:类中声明:static数据类型标识符;类外赋值:数据类型类名::标识符=值;//注意它不属于任何对象,只能在类外赋初值。并且它要通过非内联函数来访问调用:类名∷标识符例如:staticintcountP;intPoint::countP=0;本类的静态函数成员:定义:类中声明:static返回值类型函数名(参数表);类外定义:返回值类型类名::函数名(参数表){…};//它一般用来访问本类的静态数据成员、静态函数成员调用:类名::函数名或者对象名.函数名例如:staticvoid