C++ 类方法

类方法

方法是属于类的函数

有两种定义属于类的函数的方式:

  • 在类定义内部
  • 在类定义外部

在类内部定义方法

在下面的例子中,我们在类内部定义了一个函数,并命名为 myMethod

注意:您访问方法的方式与访问属性相同;通过创建类的对象并使用点语法(.):

内部定义示例

class MyClass {        // 类
  public:              // 访问说明符
    void myMethod() {  // 在类内部定义的方法/函数
      cout << "Hello World!";
    }
};

int main() {
  MyClass myObj;     // 创建 MyClass 的一个对象
  myObj.myMethod();  // 调用方法
  return 0;
}

亲自试一试

在类外部定义方法

有时,最好在类中声明方法,稍后再定义它(尤其是在大型程序中)。

这是通过指定类名,后跟作用域解析 :: 运算符,再跟函数名来完成的:

外部定义示例

class MyClass {        // 类
  public:              // 访问说明符
    void myMethod();   // 方法/函数声明
};

// 在类外部定义方法/函数
void MyClass::myMethod() {
  cout << "Hello World!";
}

int main() {
  MyClass myObj;     // 创建 MyClass 的一个对象
  myObj.myMethod();  // 调用方法
  return 0;
}

亲自试一试

参数

您也可以像普通函数一样向方法传递值:

实例

#include <iostream>
using namespace std;

class Car {
  public:
    int speed(int maxSpeed);
};

int Car::speed(int maxSpeed) {
  return maxSpeed;
}

int main() {
  Car myObj; // 创建 Car 的一个对象
  cout << myObj.speed(200); // 使用参数调用方法
  return 0;
}

亲自试一试

挑战任务

创建一个 Dog 类,带有一个 bark() 方法,打印 "Woof!"

然后使用该类的对象从 main() 调用该方法。

#include <iostream>
using namespace std;

class Dog {
  public:
    void bark() {
      cout << "Woof!";
    }
};

int main() {
  Dog myDog;
  myDog.bark();
  return 0;
}