C++方法

  

1、什么是方法

    在C++语言中,方法是指某一类事物共有的行为,例如,人可以有行走,跑跳等的行为,但是,人是没有冬眠这种

  行为的,而行为,可以通过函数来实现,而每个函数就代表着每种行为,即方法。

 

2、方法定义的语法格式

 

   Class  类名

   {

       public:

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

   }

 

  语法格式分析:

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

 

    (2)方法定义的语法格式与C语言的函数定义的格式是一样的,而返回类型就是C语言的(数据类型),

          而方法名就按照C语言的变量命名规则来定义就可以了。

 

    (3)在一对小括号中间可以通过(逗名)分隔不同的参数,每个参数的前面都要有参数类型,

       而参数的类型就是C语言的数据类型。

 

    (4)如果不在类中实现“方法”的主体部分,那么,就可以加上一个(分号),否则,加上一对(大括号),

       并在(大括号)中实现方法的主体部分,但是,通常的做法都是在类中定义方法,

       然后,在类外去实现主体部分,这样,就可以保持类中代码的简洁。

 

 3、 例子:

       class Human

       {
           public:
             int head;
             int body;
             int leg;
             int hand;
             int eye;
             int mouse;
             int ear;
             int nose;

             Human(){}  //构造函数

             void Move(int x,int y); //定义了方法Move,带有2个参数

       };

     

                   

  4、类外实现(方法主体)的语法格式

 

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

    {

       主体代码;

    }

 

    语法格式分析:

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

    (2)要实现的方法名。

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

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

 

 5、 例子:

       class Human

       {
           public:
             int head;
             int body;
             int leg;
             int hand;
             int eye;
             int mouse;
             int ear;
             int nose;

             Human(){}  //构造函数

             void Move(int x,int y); //定义了方法Move,带有2个参数

       };

 

       Human::Move(int x,int y) //实现了方法Move

       {

           x = x+1+y;

       }

 

 

  6、方法的调用格式

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

 

    语法格式分析:

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

     (2)点号运算符,格式要求不能省略。

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

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

 

 7、 例子:

       class Human

       {
           public:
             int head;
             int body;
             int leg;
             int hand;
             int eye;
             int mouse;
             int ear;
             int nose;

             Human(){}  //构造函数

             void Move(int x,int y); //定义了方法Move,带有2个参数

       };

 

       Human::Move(int x,int y) //实现了方法Move

       {

           x = x+1+y;

       }

       Human  ZhangShan();  //通过Human类定义了一个zhangShan对象

 

       ZhangShan.Move(2,8);  //通过zhangShan对象调用类中的方法Move并传递参数2和8