查看完整版本: 關於class
頁: [1]

allan222 發表於 2017-4-17 02:04 AM

關於class

請問若是在一個class裡面包含另一個class
那 那個class是屬於物件 還是 單純是 class

EX:
class holiday{
public:
holiday();
void output();
private:
DayOfYear date;
}

DayOfYear屬於另外一個class
那請問這邊的date是否屬於物件呢?

<div></div>

chyu1019 發表於 2017-4-17 10:36 PM

這裡的date就是class holiday的一個member variable(private).
只要將其想成跟
private:
    int i;
的變數 i 一樣就行了, 不用將class想的太複雜,
在member function操作與普通變數一樣



o_g349 發表於 2017-9-13 11:30 AM

當然視為物件,你要把他變成 class 要這樣寫:
class holiday {
  public:
    holiday();
    void output();
  private:
    class DayOfYear { /* <= 這裡多了括號,前面多了 class 關鍵字,後面物件名稱拿掉,代表是 class 而不是物件 */
      /* ... 內容定義 ... */
    };
}
不加括號是物件,加了括號、class 關鍵字、和拿掉物件名稱之後就是 class,一般稱之為 nested class
頁: [1]