C 中的類的定義

2021-06-26 00:11:41 字數 1424 閱讀 7292

class point;定義的形式。最後的分號不能少;

在類的定義中不能對資料成員進行初始化;

類的任何成員都必須指定訪問屬性。一般情況下將成員函式定義為public, 將資料成員定義為private or public;

public的成員。既能夠被該類的成員函式訪問,又能夠被類外部的其他函式訪問;

protected的成員。允許該類的成員函式和友元訪問,允許派生類的成員函式訪問;

private的成員。值允許該類的成員函式以及友元訪問,不允許派生類的成員函式訪問。也就是說,private的成員必須在類定義的時候才能訪問,即時是該類的物件在類定義外也不能直接訪問,需要通過類中定義的public的函式來訪問、修改等;乙個很常見的錯誤就是讓類的物件在main函式中訪問private資料成員,這是不可以的;

對於類中成員函式的定義有兩種方式:1)在類定義的時候給出成員函式的定義;2)現在類定義的時候給出宣告,然後在類外定義成員函式,此時成員函式在類外的定義方式和普通函式定義方式不同,需要加入類名,如下:void point :: setpoint(double newx, double newy)   而在類定義中宣告的方式把定義中的類名和::符號去掉即可;一般而言,第2中定義成員函式的方式更加常用;

建構函式在定義的時候,其類名要和類名一樣。在類外定義的時候也需要:類名::類名(形參表)的形式,而在類內的宣告方式和其餘成員函式的形式一樣。建構函式沒有返回值型別,前面也不能加void。建構函式為public屬性,因為其需要被自動呼叫。乙個類可以擁有多個建構函式,對建構函式可以進行過載;

在類定義中不能直接使用cin, cout輸入輸出資訊,要把cin, cout放在成員函式中;

在類的定義中,可以用關鍵字static宣告成員為靜態成員,它們可以在同類的不同物件之間提供資料共享。不管這個類建立了多少個物件,但靜態成員只有乙份拷貝(副本),為所有屬於這個類的物件所共享;

靜態資料成員的初始化必須在類外進行,預設值為0.它是在編譯的時候建立並初始化的,所以在該類的任何對**那個被建立之前就已經存在了,所以我們可以在main的前面初始化靜態資料成員,方式為:資料型別 類名:: 資料名; 例如: int ctype::s=0; 

靜態成員函式屬於該類的所有物件,只能訪問靜態資料成員,不能對類的其他型別的資料成員或者成員函式進行訪問,如果確實需要訪問,智慧型通過物件名(或者指向物件的指標)訪問該物件的非靜態成員,不過這樣子靜態成員函式就要在物件被定義之後呼叫了。靜態成員函式可以通過物件或者類名呼叫;

對於常資料成員,建構函式只能通過初始化列表對該資料成員進行初始化,這點和引用資料成員是一樣的;

友元是為了在類的外部直接訪問類的私有資料成員而產生的。

友元函式的宣告方式:friend bool equal(date, date);  一般在類內宣告友元函式,然後在類外給出友元函式的定義,定義的時候不需要加friend,在定義的時候友元函式可以直接訪問類的私有資料成員。當乙個函式訪問多個類時,友元函式非常有用;

c 類和C 中定義類的定義

c 類和c 中定義類的定義 相同處 1.1.都需要使用 class標識 1.2.都包含有成員 函式,屬性 1.3.都有private public protect 標識的成員 2.不同之處 2.2.c 申明類及成員時格式 class member 一般在class的末尾處需要乙個英文分割符號 pub...

C 中類的定義

類是物件導向程式設計的基本單位,是一種包含資料成員 函式成員和巢狀型別的資料結構。類的資料成員有常量 域和事件。函式成員包括方法 屬性 索引指示器 運算子 建構函式和析構函式。類和結構同樣都包含了自己的成員,但它們之間最主要的區別在於 類是引用型別,而結構是值型別。類支援繼承機制,通過繼承,派生類可...

c 中類的定義

類的成員分為兩類,分別為資料成員和成員函式。資料成員的型別可以是任何已有的型別,包括整型,浮點型,字元型,陣列,指標和引用等。資料成員還可以是物件,但不能是自身類的物件,而自身類的指標或引用做資料成員是可以的。定義乙個類時,應注意 1 類只是一種自定義資料型別,類中任何成員資料均不能使用關鍵字ext...