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++ 类的静态成员 | 类的数据成员和函数成员都可以被声明为静态的。 |