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
通过上面的学习,相信大家对方法的定义、实现与使用有了一个初步了解,但是,如何灵活地运用这个知识点呢?那么,我们就要通过下方的按钮进入到游戏中,然后,运用该知识点去完成任务,这样,才可以加深大家对该知识点的理解和运用,以及“尽快进入到编程的状态”。
要达到灵活运用,是需要通过不停地反复训练才可以做到,所以,不要停留在理论规则上面,快动起来吧!
(通过游戏模式学习与训练,需要在电脑上运行)