C++ 類定義
打個比方,狗,這個物種就是類,我家的小狗名字叫花花,花花是狗的一種,我們就把花花稱作類的對象,花花就是狗這個類數理化出來的對象。
#include<stdlib.h> #include<iostream> using namespace std; class Dog// class:關鍵字,Dog:類名 { char name[20]; int age; int type;// int:屬性,type:數據成員 void speak();// 成員函數,或者說方法 void run(); }
定義一個類,本質上是定義一個數據類型的藍圖。這實際上並沒有定義任何數據,但它定義了類的名稱意味着什么,也就是說,它定義了類的對象包括了什么,以及可以在這個對象上執行哪些操作。
類定義是以關鍵字 class 開頭,后跟類的名稱。類的主體是包含在一對花括號中。類定義后必須跟着一個分號或一個聲明列表。例如,我們使用關鍵字 class 定義 Box 數據類型,如下所示:
class Box { public: double length; // 盒子的長度 double breadth; // 盒子的寬度 double height; // 盒子的高度 };
關鍵字 public 確定了類成員的訪問屬性。在類對象作用域內,公共成員在類的外部是可訪問的。您也可以指定類的成員為 private 或 protected,這個我們稍后會進行講解。
定義 C++ 對象
類提供了對象的藍圖,所以基本上,對象是根據類來創建的。聲明類的對象,就像聲明基本類型的變量一樣。下面的語句聲明了類 Box 的兩個對象:
Box Box1; // 聲明 Box1,類型為 Box Box Box2; // 聲明 Box2,類型為 Box
對象 Box1 和 Box2 都有它們各自的數據成員。
訪問數據成員
詳細內容:https://www.cnblogs.com/chuijingjing/p/9245445.html
類的對象的公共數據成員可以使用直接成員訪問運算符 (.) 來訪問。為了更好地理解這些概念,讓我們嘗試一下下面的實例:
#include <iostream> #include <stdlib.h> using namespace std; // 實例化一個類的對象 class Coordinate // 定義一個類 { public: // 訪問限定符 int x; int y; void printX() { cout << x << endl; } void printY() { cout << y << endl; } }; int main(void) { // 棧的方式 Coordinate coor; // 定義在棧中的一個對象 coor.x = 10; // 訪問數據成員或者成員函數 coor.y = 20; coor.printX(); coor.printY(); // 堆的方式 Coordinate *p = new Coordinate(); if(NULL == p) { // 申請內存失敗 return 0; } p->x = 100; // 訪問數據成員或者成員函數 p->y = 200; p->printX(); p->printY(); delete p; // 釋放內存 p = NULL; system("pause"); return 0; }
需要注意的是,私有的成員和受保護的成員不能使用直接成員訪問運算符 (.) 來直接訪問。我們將在后續的教程中學習如何訪問私有成員和受保護的成員。