>首先我们要知道什么是结构什么是类:</P>
>结构是用同一个名字引用的相关的集合(或称聚合题),它是用其他类型的对象构造出来的派生数据类型。</P>
>说到派生,其实也不难理解:</P>
>结构中可包含多种不同数据类型的变量,如:<FONT color=#0000ff>int</FONT>型的,<FONT color=#0000ff>float</FONT>型的,<FONT color=#0000ff>char</FONT>型的,<FONT color=#0000ff>long</FONT>型的,甚至数组合指针,以及自引用指针等等,结构中包含有这些数据类型的变量,所以说结构是派生而来。% }3 X/ ~: M' S }
><FONT color=#0000ff>struct</FONT> player/*关键字struct定义一个结构*/
>在struct后边的player就变成了像int,一样的声明符。 </P>: V! @! N4 W' q# E( |" b/ Z
>main()" |8 l! S* J, {+ ~1 X
><FONT color=#ff0000>数组与结构一瞥:</FONT> </P>
align=left>
align=left><FONT color=#ff0000>结构初始化:</FONT>
align=left>结构初始化有两种: $ f6 D, o) U: u0 z9 `4 X
align=left>关键字<FONT color=#0000ff>typedef</FONT>:8 k5 l/ [9 v# z8 B6 ^4 T" X' c
>(在这里我就不多说了!) : Y+ f2 w, ?+ s$ o- q
>类定义:</P>9 t" j) i {$ G* m- X# L& k
>在解释类之前,我们必须了解对象:</P>
>称现实世界中客观存在的事物为对象,只要是客观世界你能想得到的实物、抽象的物都可以是一个对象;例如:整数是一个对象,汽车是对象,人也是对象......</P>/ x, c% g( i) i2 ~4 b% N
>C++可使用对象名、属性和操作三要数来描述对象,我们用对象结构图来描述一个对象: </P>
>这里有一个人叫小刚,我们用对象结构图来描述他: </P>0 U7 G% W- f2 W3 }( U
>男;
>清楚什么是对象了,我们可以介绍类了。</P>
>像构造枚举和结构一样,类也是一种用户自己构造的数据类型,类是在C++下的,所以类遵循C++的规定。C++中声明的一般形式为:1 q* g# j# l; v0 [
>私有(Private)成员,只有在类中说明的函数才能访问该类的私有成员,而在该类外的函数不可以访问私有成员;公有(Public)成员,类外面也可访问公有成员,成为该类的接口;还有一种是保护(Protected)成员,这种成员只有该类的派生类可以访问,其余的在这个类外不能访问。</P>" d6 v" E3 A# N
>从上图可以看出,类与结构既有相似又有不同,class似与struct一样是声明一个聚合体,而且类也有数据成员,但是类声明的对象的初始化则与结构大相径庭,(对象的初始化使用构造函数来完成的,<b>构造函数</b>将在后边介绍)结构中没有像类一样的如public这样的权限,结构中是不可以有函数的,而类中可以存在函数。% p0 [. i! q0 w m% U y) {$ b
>*“构造函数”是一个特殊的成员函数,不要把它理解为构造一个函数,在c++中构造函数一般与类的名字相同。 </P>3 v1 O& [; _& E! D3 k2 u
><FONT color=#0000ff>class</FONT> circle {! d5 E4 ^' b+ Y1 x: f% W
>main(){
>此上为构造函数简单用法。既然说到了构造函数,也就跑不了析构函数。在对象消失时,析构函数将释放由构造函数分配的内存。一般用于类通明的函数名,没有参数,并在函数前面加上“~”号。如:~circle();</P>' Q% \1 O! H4 n9 f! O
>从已有的对象类型出发建立一种新的对象类型,使它继承原对象的特点和功能,这种思想是面向对象设计的主要贡献。</P>
>从一个或多个以前定义的类产生型类的过程称为派生,这个新类又成为派生类。类的继承是指新类从基类那里得到的特征,也就是继承基类的数据和函数。继承和派生类不难理解,在我们生活中继承的例子不胜枚举。: h2 L, q& L# g- B. e+ ]7 f
><IMG src="http://www.frontfree.net/articles/pages/0000000836/1fds.gif"></P>| 欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) | Powered by Discuz! X2.5 |