C 中封裝是針對類,而不是針對物件 誰解釋一下

2022-02-28 18:00:40 字數 3188 閱讀 8510

1樓:線釗示冠

寫一個類的拷貝建構函式時,會用其他或者自己類的其他物件的私有成員為當前物件私有成員初始化,這時候,物件之間已經打破了private的界限,所以,所謂的封裝是針對類之間的。

2樓:

物件存在著,在現實中可以找得到;類在現實中找不到只能抽象出來,有些不是共同的(年齡)就不能出現在類中,不能出現的就是要封裝的, 物件不需要封裝,因為要有的特性都要表現出來,所以沒有封裝這一概念和必要。類是通過對物件的抽象而得到的,如:對少年人、青年人、老年人他們的共同特點是人就抽象為人,就從一般的少年人、青年人、老年人這些物件抽象得到了類。

物件是類的例項,

3樓:沒看過粉絲啊

物件導向的思想就現實世界進行分類,將問題的解決看成是每一個類的例項表現自己的功能的一個過程。 在c++中,類是一種資料結構,是為了表現一類事物所具有的性質和功能而抽象出來的一個概念。這種資料結構等同於基本資料結構的地位。

也就是說,只有定義了一個類的物件(例項),該類才能表現出自己的存在(在記憶體中得到分配)。 有了物件導向的程式設計思想,程式的概念從「演算法+資料結構」變成了「物件+物件+……+物件」。也就是說,在物件導向的思想裡,一種資料結構和處理該資料結構的函式(方法)是被看成一個整體的,都封裝在類的定義裡面。

c++中類定義一個物件,如類名 物件名(數字);這是什麼意思?

4樓:匿名使用者

c++中的類除了具有封裝的意味外,還有一點就是要使得定義的類可以像內建的型別(如int等)一樣容易讓人理解。例子:

#include

class a // 類a的建構函式,引數為一個int型變數aprivate:

int n; //類的成員變數

};main()

5樓:匿名使用者

c++中類對成員函式及成員變數等進行封裝,只有通過定義類的物件,才能對類的成員函式等進行呼叫,而數字就是對該定義物件的初始化值。

類就好比一份工程樣圖,而物件就好比一輛小轎車,一份工程樣圖可以製造出多輛小轎車

6樓:我愛數學

相當於標示符一樣,只要有物件名,就能訪問物件名指向的記憶體中的資料!就是給資料加上名字!就相當於你的名字,標識了你這個人!

c++中什麼是封裝?類是如何進行封裝的

7樓:糾結de豌豆尖

類是 物件導向程式設計語言中的一個概念。

類是對某個物件的定義。它包含有關物件動作方式的資訊,包括它的名稱、方法、屬性和事件。

類成員有3種不同的訪問許可權:

1)公有( public )成員可以在類外訪問。

2)私有( private )成員只能被該類的成員函式訪問。

3)保護( protected )成員只能被該類的成員函式或派生類的成員函式訪問。

資料成員通常是私有的,成員函式通常有一部分是公有的,一部分是私有的。公有的函式可以在類外被訪問,也稱之為類的介面。可以為各個資料成員和成員函式指定合適的訪問許可權。

至於封裝就是通過許可權來限制類中的**外界無法看到更無法更改。。值能通過介面來直接使用。。。類就像一個生產車間。。

外界的人只需知道丟進去什麼材料(引數)。。然後這個車間產生出來的是什麼(介面)。。而把生產過程封裝了。。

你不知道是怎麼生產的。。。

這個比喻還是比較能看懂的吧??

名詞解釋,c++中的物件

8樓:匿名使用者

物件,如果說類是一個抽象概念,那麼物件就是具體物件。比如我們說『人』就是一個抽象概念,但是具體到某個人,比如你,我,他,就是一個『人』物件。

物件的概念:物件是系統中用來描述客觀事物的一個實體,它是構成系統的一個基本單位。一個物件由一組屬性和對這組屬性進行操作的一組服務組成。

從更抽象的角度來說,物件是問題域或實現域中某些事物的一個抽象,它反映該事物在系統中需要儲存的資訊和發揮的作用;它是一組屬性和有權對這些屬性進行操作的一組服務的封裝體。客觀世界是由物件和物件之間的聯絡組成的。

類與物件的關係就如模具和鑄件的關係,類的例項化結果就是物件,而對一類物件的抽象就是類.類描述了一組有相同特性(屬性)和相同行為(方法)的物件。

9樓:

簡單來說,物件就是具體的東西。

c++中的「類」描述 我們可以看成是 c 語言的 int,或float,或double,或結構。

c 語言的 int,或float,或double, 其實也可以看成是「類」,只不過不要程式設計師重新 描述。

int i,j,k; -- i,j,k 才是具體的int 變數,具體的東西,就是「物件」

float f1,f2; -- f1,f2; 才是具體的float 變數,具體的東西,就是「物件」

c++中的「類」描述 很長,寫了一堆東西。

例如:class point

point( double a, double b)

point( int a, int b, int c)

void ou()

~point() {};

}; // 一直寫到這裡。

void main()

point a(4,5,6); -- 多麼像 int i;

「物件」一詞譯自洋文,所以字面上不易理解。

10樓:匿名使用者

物件導向程式設計思想就是把聽到的看到的感覺到的都劃分成物件

c++中什麼是封裝?類是如何進行封裝的?

11樓:黎約踐踏

類是物件導向程式設計語言中的一個概念。類是對某個物件的定義。它包含有關物件動作方式的資訊,包括它的名稱、方法、屬性和事件。

類成員有3種不同的訪問許可權: 1)公有( public )成員可以在類外訪問。2私有( private )成員只能被該類的成員函式訪問。

3)保護( protected )成員只能被該類的成員函式或派生類的成員函式訪問。 資料成員通常是私有的,成員函式通常有一部分是公有的,一部分是私有的。公有的函式可以在類外被訪問,也稱之為類的介面。

可以為各個資料成員和成員函式指定合適的訪問許可權。至於封裝就是通過許可權來限制類中的**外界無法看到更無法更改。值能通過介面來直接使用。

類就像一個生產車間,外界的人只需知道丟進去什麼材料(引數),然後這個車間產生出來的是什麼(介面),而把生產過程封裝了,不知道是怎麼生產的。

c 類是怎麼理解,c 類别範本是怎麼理解

模板類英文為class template,template的中文翻譯為模板,所以模板類的意思其實是 類的模板。顧名思義,模板類是相當於一個模具,當引數給定時,生成具體的類,也叫例項化。它的提出主要是為了減少 重複。例如,我們可以用下面的 交換兩個數b和c a b b c c a 這個交換過程與a,b...

c為何類才能使用預設引數而函式c,為何模板類才能使用預設模板引數,而模板函式卻不能?求教。

這是因為函式是根據呼叫時的引數型別反推模板引數型別。而模板類别範本引數型別是你申明物件時給出的。好拗口啊!還是拿你的例子來舉例來說明好了 我們定義一個模板函式 template func t1 p1,t2 p2 然後在某一個地方呼叫 int x short y func x,y 編譯器編譯這裡的 時...

C12,C13,C14,為什麼增加的是中子數而不增加質子數

c12,c13,c14,為什麼增加的是中子數而不增加質子數?而且保持質子數為6,只增加中子數 你好 我們知道原子的正負電荷是相等的,質子是帶電粒子,如果質子數增加,那麼電子就必然也要增加,核外電子影響元素的化合性質,電子數變了化學性質也變了,那麼它們就不能體現c元素的性質了,更沒有同位數的說法啦.你...