Latest web development tutorials

C ++ Klasse & Objekte

C ++ Sprache basierend auf C fügt die objektorientierte Programmierung, C ++ unterstützt die objektorientierte Programmierung. C ++ Klasse ist eine Kernfunktion, die oft als benutzerdefinierte Typen.

Klasse wird verwendet, um das angegebene Objekt zu bilden, die Datendarstellung enthält und ein Verfahren zur Verarbeitung von Daten. Klassendaten und Methoden bezeichnet als Mitglieder der Klasse. Funktion in einer Klasse sind Mitglieder der Klasse genannt.

C ++ Klassendefinition

Die Definition einer Klasse ist im Wesentlichen ein Plan einen Datentyp zu definieren. Dies wird nicht definiert, tatsächlich alle Daten, aber es definiert den Namen der Klasse, was es bedeutet, das heißt, definiert sie eine Klasse von Objekten, einschließlich dessen, was und welche Operationen können auf dem Objekt durchgeführt werden.

Die Klassendefinition wird auf SchlüsselwörterKlasse am Anfang basiert, die von der Klasse gefolgt.Körper der Klasse wird in einem Paar von geschweiften Klammern enthalten. Es muss durch ein Semikolon oder Anweisungsliste nach der Klassendefinition folgen. Zum Beispiel verwenden wir dieKlasse Schlüsselwort Box - Datentyp zu definieren, wie folgt:

class Box
{
   public:
      double length;   // Length of a box
      double breadth;  // Breadth of a box
      double height;   // Height of a box
};

StichwortÖffentlichkeit bestimmt die Zugriffsattribut Klasse Mitglieder.In der Klasse Objekt Anwendungsbereich ist die öffentliche Mitglieder außerhalb der Klasse zugänglich. Sie können auch die Klassenmitgliederprivat oder geschützt angeben,dass wir später erklären.

C ++ Objektdefinitionen

Klasse liefert den Bauplan für ein Objekt, so dass im Grunde, basiert auf der Objektklasse zu erstellen. Erklärt Objekt der Klasse, wie die Deklaration von Variablen des gleichen Grundtyps. Die folgende Anweisung deklariert die Klasse Box zwei Objekte:

Box Box1;          // 声明 Box1,类型为 Box
Box Box2;          // 声明 Box2,类型为 Box

Box1 und Box2 Objekte haben ihre eigenen Datenelemente.

Zugangsdaten Mitglieder

Öffentliche Daten Mitglieder einer Klasse von Objekten kann direkt auf den Member-Access-Operator (.) Um den Zugang. Um besser diese Konzepte verstehen, lassen Sie uns die folgenden Beispiele versuchen:

#include <iostream>

using namespace std;

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

int main( )
{
   Box Box1;        // 声明 Box1,类型为 Box
   Box Box2;        // 声明 Box2,类型为 Box
   double volume = 0.0;     // 用于存储体积
 
   // box 1 详述
   Box1.height = 5.0; 
   Box1.length = 6.0; 
   Box1.breadth = 7.0;

   // box 2 详述
   Box2.height = 10.0;
   Box2.length = 12.0;
   Box2.breadth = 13.0;

   // box 1 的体积
   volume = Box1.height * Box1.length * Box1.breadth;
   cout << "Box1 的体积:" << volume <<endl;

   // box 2 的体积
   volume = Box2.height * Box2.length * Box2.breadth;
   cout << "Box2 的体积:" << volume <<endl;
   return 0;
}

Wenn der obige Code kompiliert und ausgeführt wird, erzeugt es die folgenden Ergebnisse:

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

Es sei darauf hingewiesen, dass die Mitglieder der privaten und geschützten Mitglieder nicht direkt Mitglied Zugang Betreiber nutzen können (.), Um direkt zugreifen. Wir werden in den folgenden Tutorials zu lernen, wie man private Mitglieder und geschützte Mitglieder zugreifen.

Detaillierte Klasse & Objekte

Bisher haben wir ein grundlegendes Verständnis von C ++ Klassen und Objekte. Die folgende Liste enthält auch einige andere C ++ Klassen und Objekte verwandte Konzepte, können Sie auf den entsprechenden Link klicken, um zu lernen.

概念描述
类成员函数 类的成员函数是指那些把定义和原型写在类定义内部的函数,就像类定义中的其他变量一样。
类访问修饰符 类成员可以被定义为 public、private 或 protected。默认情况下是定义为 private。
构造函数 & 析构函数 类的构造函数是一种特殊的函数,在创建一个新的对象时调用。类的析构函数也是一种特殊的函数,在删除所创建的对象时调用。
C++ 拷贝构造函数 拷贝构造函数,是一种特殊的构造函数,它在创建对象时,是使用同一类中之前创建的对象来初始化新创建的对象。
C++ 友元函数 友元函数可以访问类的 private 和 protected 成员。
C++ 内联函数 通过内联函数,编译器试图在调用函数的地方扩展函数体中的代码。
C++ 中的 this 指针 每个对象都有一个特殊的指针 this,它指向对象本身。
C++ 中指向类的指针 指向类的指针方式如同指向结构的指针。实际上,类可以看成是一个带有函数的结构。
C++ 类的静态成员 类的数据成员和函数成员都可以被声明为静态的。