Kelas & Objek C++


C++ menambah pengaturcaraan berorientasikan objek berdasarkan bahasa C C++ menyokong pengaturcaraan berorientasikan objek. Kelas ialah ciri teras C++ dan sering dipanggil jenis yang ditentukan pengguna. Kelas

digunakan untuk menentukan bentuk objek, yang mengandungi perwakilan data dan kaedah untuk memproses data. Data dan kaedah dalam kelas dipanggil ahli kelas. Fungsi dalam kelas dipanggil ahli kelas.

Takrifan kelas C++

Mentakrifkan kelas pada asasnya ialah pelan tindakan untuk mentakrifkan jenis data. Ini sebenarnya tidak mentakrifkan sebarang data, tetapi ia mentakrifkan maksud nama kelas, iaitu, ia mentakrifkan apa yang terkandung dalam objek kelas dan operasi yang boleh dilakukan pada objek ini.

Takrifan kelas bermula dengan kata kunci kelas, diikuti dengan nama kelas. Badan kelas itu disarungkan dengan sepasang pendakap kerinting. Takrif kelas mesti diikuti dengan koma bertitik atau senarai pengisytiharan. Sebagai contoh, kami mentakrifkan jenis data Kotak menggunakan kata kunci kelas seperti berikut:

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

Kata kunci awam menentukan sifat akses ahli kelas. Dalam skop objek kelas, ahli awam boleh diakses di luar kelas. Anda juga boleh menentukan ahli kelas sebagai peribadi atau dilindungi, yang akan kami jelaskan kemudian.

Mentakrifkan Objek C++

Kelas menyediakan rangka tindakan objek, jadi pada asasnya, objek dicipta berdasarkan kelas. Isytiharkan objek kelas sama seperti pembolehubah jenis primitif. Pernyataan berikut mengisytiharkan dua objek kelas Box:

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

Objek Box1 dan Box2 masing-masing mempunyai ahli data mereka sendiri.

Mengakses ahli data Ahli data awam objek kelas

boleh diakses menggunakan operator akses ahli langsung (.). Untuk lebih memahami konsep ini, mari kita cuba contoh berikut:

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

Apabila kod di atas disusun dan dilaksanakan, ia akan menghasilkan keputusan berikut:

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

Adalah penting untuk ambil perhatian bahawa , ahli persendirian dan ahli yang dilindungi tidak boleh diakses secara langsung menggunakan operator akses ahli langsung (.). Kami akan mempelajari cara untuk mengakses ahli peribadi dan dilindungi dalam tutorial kemudian.

Penjelasan terperinci tentang kelas & objek

Setakat ini, kami mempunyai pemahaman asas tentang kelas dan objek C++. Senarai berikut juga menyenaraikan beberapa konsep lain yang berkaitan dengan kelas dan objek C++ Anda boleh mengklik pada pautan yang sepadan untuk belajar.

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