C++ 類和對象


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 確定了類成員的訪問屬性。在類對象作用域內,公共成員在類的外部是可訪問的。您也可以指定類的成員為 privateprotected,這個我們稍后會進行講解。

定義 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;
}
 

需要注意的是,私有的成員和受保護的成員不能使用直接成員訪問運算符 (.) 來直接訪問。我們將在后續的教程中學習如何訪問私有成員和受保護的成員。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM