Latest web development tutorials

C ++ funkcje składowe klasy

C ++ klasy i obiekty C ++ klasy i obiekty

Funkcje składowe klasy są te napisane do zdefiniowania i prototyp funkcji wewnątrz definicji klasy, jak definicja klasy innych zmiennych. funkcja składowa klasy jest członkiem klasy, może to być dowolny rodzaj manipulacji obiektu, można uzyskać dostęp do wszystkich członków danego obiektu.

Spójrzmy na wcześniej zdefiniowanej klasy Box, a teraz chcemy użyć, aby uzyskać dostęp do elementu funkcje składowe klasy, zamiast bezpośredniego dostępu do członków tych klas:

class Box
{
   public:
      double length;         // 长度
      double breadth;        // 宽度
      double height;         // 高度
      double getVolume(void);// 返回体积
};

Funkcja użytkownika mogą być definiowane wewnątrz definicji klasy lub stosować samodzielnie zdefiniowaćzakres rozdzielczości operatora ::.Funkcje państwa określone w definicji klasy funkcji jest zadeklarowanainline, nawet bez użycia identyfikatora rolkach.Więc można zdefiniować funkcjęgłośności () w następujący sposób:

class Box
{
   public:
      double length;      // 长度
      double breadth;     // 宽度
      double height;      // 高度
   
      double getVolume(void)
      {
         return length * breadth * height;
      }
};

Można teżrozwiązać operatora poza zakresemdefinicji klasy::funkcji w następujący sposób:

double Box::getVolume(void)
{
    return length * breadth * height;
}

Tu trzeba podkreślić, że należy użyć nazwy klasy przed operatora ::. Wywołanie funkcji składowej na przedmiocie za pomocą kropki, tak, że może przetwarzać dane związane z obiektem, jak następuje():

Box myBox;          // 创建一个对象

myBox.getVolume();  // 调用该对象的成员函数

Użyjmy pojęcie o którym mowa powyżej, aby ustawić i uzyskać wartość poszczególnych kategorii członków:

#include <iostream>

using namespace std;

class Box
{
   public:
      double length;         // 长度
      double breadth;        // 宽度
      double height;         // 高度

      // 成员函数声明
      double getVolume(void);
      void setLength( double len );
      void setBreadth( double bre );
      void setHeight( double hei );
};

// 成员函数定义
double Box::getVolume(void)
{
    return length * breadth * height;
}

void Box::setLength( double len )
{
    length = len;
}

void Box::setBreadth( double bre )
{
    breadth = bre;
}

void Box::setHeight( double hei )
{
    height = hei;
}

// 程序的主函数
int main( )
{
   Box Box1;                // 声明 Box1,类型为 Box
   Box Box2;                // 声明 Box2,类型为 Box
   double volume = 0.0;     // 用于存储体积
 
   // box 1 详述
   Box1.setLength(6.0); 
   Box1.setBreadth(7.0); 
   Box1.setHeight(5.0);

   // box 2 详述
   Box2.setLength(12.0); 
   Box2.setBreadth(13.0); 
   Box2.setHeight(10.0);

   // box 1 的体积
   volume = Box1.getVolume();
   cout << "Box1 的体积:" << volume <<endl;

   // box 2 的体积
   volume = Box2.getVolume();
   cout << "Box2 的体积:" << volume <<endl;
   return 0;
}

Gdy powyższy kod jest kompilowany i wykonany, że daje następujące wyniki:

Box1 的体积: 210
Box2 的体积: 1560

C ++ klasy i obiekty C ++ klasy i obiekty