Latest web development tutorials

fonctions de membre de classe C ++

Classe C ++ & Objets Classe C ++ & Objets

fonctions membres de la classe sont ceux écrits pour définir et prototyper une fonction dans une définition de classe, comme la définition de la classe des autres variables. fonction membre de classe est un membre d'une classe, il peut être tout type de manipulation d'objets, vous pouvez accéder à tous les membres de l'objet.

Regardons Boîte de classe définie précédemment, et maintenant nous voulons utiliser pour accéder au membre des fonctions de membre de classe, plutôt que l'accès direct aux membres de ces classes:

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

fonction de membre peut être définie dans une définition de classe, ou utilisé seul pour définirla résolution opérateur de portée ::.Les fonctions membres définies dans la définition de la classe de la fonction est déclaréeinline, même sans l'utilisation de l' identificateur de ligne.Ainsi , vous pouvez définir la fonctionVolume () comme suit:

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

Vous pouvez égalementrésoudre l' opérateuren dehors duchamp d'applicationde la définition de la classe::fonction comme suit:

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

Ici, la nécessité de souligner que vous devez utiliser le nom de classe avant l'opérateur ::. Appel à une fonction membre de l'objet à l' aide de l'opérateur point, de sorte qu'il peut manipuler les données associées à l'objet, comme suit():

Box myBox;          // 创建一个对象

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

Prenons le concept mentionné ci-dessus pour définir et obtenir la valeur des différentes catégories de membres:

#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;
}

Lorsque le code ci-dessus est compilé et exécuté, il produit les résultats suivants:

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

Classe C ++ & Objets Classe C ++ & Objets