C++ 方法

 

  在接下来的时间里面,我们准备为大家介绍C++中的方法,而什么是方法呢?其实,“方法”就是我们日常生活中所说的“行为”。

 

  那么,我们人类有哪些行为呢?一般情况下,我们人类可以做出以下的行为,例如:行走,跑步,攻击,防御,攀爬,开车,开飞机,开船,开火箭等都是我们人类可以做到的“行为”。

 

  而鱼类有哪些行为呢?一般情况下,鱼类可以做出以下的行为,例如:游泳,但鱼类不能开车,不能开飞机,不能开船。

 

  再举一个例子,例如熊类有哪些行为呢?一般情况下,熊类可以做出以下的行为,例如:行走,跑步,攻击,防御,还有就是冬眠,而冬眠这种行为,人类是没有的。

 

 

 

 

  通过上面所举的例子,相信大家就可以了解到什么是C++中的“方法”,而在接下来的时间里面,我们就需要学习一下,从代码方面如何去描述“方法”。

 

  其实,方法就是“函数”,因为,“方法”在代码上的定义与实现与C语言的函数定义与实现是一样的,而有所不同的只是,方法需要定义在类中,接下来,我就来看看“方法定义的语法格式”,格式如下:

 

Class  类名

{

  public:

    返回类型 方法名(参数类型  参数1,参数类型  参数2...参数类型  参数n);

}

 

语法格式分析:

(1)方法的定义必须在类中定义。

 

(2)方法定义的语法格式与C语言的函数定义的格式是一样的,而返回类型就是C语言的“数据类型”,而方法名就按照C语言的变量命名规则来定义就可以了。

 

(3)在一对小括号中间可以通过“逗名”分隔不同的参数,每个参数的前面都要有参数类型,而参数的类型就是C语言的数据类型。

 

(4)如果不在类中实现“方法”的主体部分,那么,就可以加上一个“分号”,否则,加上一对“大括号”,并在“大括号”中实现方法的主体部分,但是,通常的做法都是在类中定义方法,然后,在类外去实现主体部分,这样,就可以保持类中代码的简洁。

 

 

 

 

  接下来,我们就通过一个例子来定义一个“角色类”,并在类中定义一个方法,而这个方法就是用于描述角色的行走,这样,在游戏进行时,角色才可以作出移动。

 

例子:

Class  Role

{

  public:

    void MX(int x);

}

 

例子分析:

(1)类名定义为Role

 

(2)方法的返回类型定义为void类型,即方法没有返回值

 

(3)方法名定义为MX

 

(4)参数部分定义了一个类型为 int 的“整型”参数,名字为x,用于接收移动的距离

 

 

  

 

  当我们在类中定义了方法以后,我们就可以来看看如何在类外实现“方法主体”的语法格式,格式如下:

 

类名::方法名(参数类型  参数1,参数类型  参数2...参数类型  参数n)

  主体代码;

 

语法格式分析:

(1)类名,方法在哪个类中定义,就写上对应的类名。

 

(2)要实现的方法名

 

(3)参数部分,必须与方法定义时的参数数量,参数类型以及参数的名字全部相同

 

(4)一对大括,然后,在大括号就可以写入主体部分的代码。

 

 

 

 

 

  接下来,我们通过例子把上面“角色类”中的MX方法的主体部分实现出来。

 

例子:

Class  Role

{

  public:

    void MX(int x);

};

 

Role::MX( int x )

{

  x = x + 1;

}

 

例子分析:

(1)定义了Role类,并在类中定义了MX方法

 

(2)在Role类的外面,首先使用类名Role加上::来说明要实现该类中的某个方法,而方法的名字就

是MX

 

(3)参数部分,按照方法在类中的定义写入int x

 

(4)在一对大括号里面写入主体部分的代码,在例子中,对参数 x 变量中的值加1,再赋回给 x

 

 

 

 

 

  当我们把方法实现出来以后,我们就再来看看如何调用方法,因为,在方法实现以后,我们是需要通过代码去调用它,这样,才可以正式使用对应的方法,而方法的调用格式如下:

 

语法格式如下:

   对象名.方法名(参数);

 

 

语法格式分析:

(1)对象名,类中的方法只可以通过类所定义的对象去调用

 

(2)“点号”,格式要求不能省略

 

(3)要调用的方法名字,必须已经实现主体部分

 

(4)按照定义时的参数数量,参数格式去传递

 

 

 

 

  接下来,我们通过例子把上面“角色类”中的MX方法通过对象去调用。

 

例子:

Class  Role

{

  public:

    void MX(int x);

};

 

Role::MX( int x )

{

  x = x + 1;

}

 

Role  R1;

 

R1.MX(2);

 

例子分析:

(1)定义了Role类,并在类中定义了MX方法,同时,在类外实现了MX的主体部分

 

(2)通过Role定义了对象,对象名字为R1

 

(3)通过对象R1调用类中的方法MX,在调用的过程中传递“整型参数”2

 

  

 

 

  通过上面的学习,相信大家对方法的定义、实现与使用有了一个初步了解,但是,如何灵活地运用这个知识点呢?那么,我们就要通过下方的按钮进入到游戏中,然后,运用该知识点去完成任务,这样,才可以加深大家对该知识点的理解和运用,以及“尽快进入到编程的状态”

 

  要达到灵活运用,是需要通过不停地反复训练才可以做到,所以,不要停留在理论规则上面,快动起来吧!

 

 

(通过游戏模式学习与训练,需要在电脑上运行)

进入游戏学习与训练