C 之菜鳥入門概念B

2022-08-30 10:18:13 字數 1884 閱讀 2063

友元函式是可以直接訪問類的私有成員的非成員函式

友元的作用雖減少時間開銷,但它破壞了類的封裝性和隱藏性

友元關係不能被繼承,友元關係是單向的,不具有交換性,友元關係不具有傳遞性

class

a;class

b;

自己寫的標頭檔案,必須加.h。

標準的c++標頭檔案沒有.h副檔名

iostream是c++的標頭檔案,iostream.h是c的標頭檔案

iostream.h裡面定義的所有類以及物件都是在全域性空間裡,可以直用cout

在iostream裡面,它所定義的東西都在名字空間std裡,必須加上 using namespace std才能用cout

有特殊的,c的標準庫有乙個名字叫做「string.h」的標頭檔案,包含一些常用的c字串處理函式

這個標頭檔案跟c++的string類半點關係也沒有,他們的功能是不同的

當物件對成員進行多次呼叫時,不能使用匿名物件,必須給物件起名字。  

成員有兩種    1.成員變數: 事物的屬性。

2.成員函式: 事物的行為。

必須先要對事物進行屬性和行為的分析,才可以用**來體現。

不需要對外提供的內容都隱藏起來,把屬性都隱藏,提供公共方法對其訪問。

私有僅僅是封裝的一種體現形式

類中的屬性通常被私有化,並對外提供公共的訪問方法。

只能通過本類對外提供具體的訪問方式來完成對私有的訪問

可以通過對外提供函式的形式對其進行訪問。

存在於堆記憶體中,隨著物件的產生而存在,消失而消失。

區域性變數只在自己所屬的大括號內有效,大括號結束,區域性變數失去作用域。

存在於棧記憶體中,隨著所屬區域的執行而存在,結束而釋放。

只要物件一建立。就會呼叫這個**塊。

person p = new person();

1.指定位置的person.class檔案載入進記憶體。

2.執行main方法時,在棧記憶體中開闢main方法的空間,在main方法的棧區分配了乙個變數p。

3.在堆記憶體中開闢乙個實體空間,分配乙個記憶體首位址值。 new

4.在該實體空間中進行屬性的空間分配,並進行了預設初始化。

5.對空間中的屬性進行顯示初始化。

6.進行實體的構造**塊初始化。

7.呼叫該實體對應的建構函式,進行建構函式初始化。()

8.將首位址賦值給p ,p變數就引用了該實體。(指向了該物件)

功能內部使用到呼叫該功能的物件,用this來表示這個物件。

實現物件中的共性資料的物件共享。可以將這個資料進行靜態修飾。

被靜態修飾的成員,可以直接被類名所呼叫 ,           格式: 類名.靜態方式。

靜態隨著類的載入而載入。而且優先於物件存在。

靜態方法只能訪問靜態成員,不可以訪問非靜態成員。 非靜態成員函式中可以呼叫靜態成員。

定義靜態,要明確該資料是否是被物件所共享的。

主函式是靜態的。

2.成員函式 (方法中沒有呼叫特有資料時,應定義成靜態)

1. 成員變數       物件,例項變數,存在於堆記憶體

隨著物件建立而存在, 隨著物件被**而消失

只能被物件所呼叫 物件的特有資料

2.靜態變數       類,   類變數 ,   存在於方法區

隨著類的載入而存在,隨著類的消失而消失

可以被物件呼叫,也可以被類名呼叫

物件的共享資料 ,生命週期很長。

隨著類的載入執行,只執行一次(new 多個物件就只執行一次)

若和主函式在同一類中,優先於主函式執行。

靜態**塊、構造**塊、建構函式同時存在時的執行順序:靜態**塊 ->構造**塊->建構函式;

主函式的存在,僅為該類是否需要獨立執行,若不需要,主函式不用定義

C 之菜鳥入門概念C

若多程式讀取乙個配置檔案,建議配置檔案封裝成物件。方便操作其中資料,需要該配置檔案物件在記憶體中是唯一的。2.在本類中建立乙個本類物件。3.對外提供方法,讓其他程式獲取這個物件。步驟1.建立物件都需要建構函式初始化,只要將本類中的建構函式私有化,其他程式就無法再建立該類物件 2.就在類中建立乙個本類...

c 入門 菜鳥學習日記

c 包含了整個c,c是建立c 的基礎。c 包括c的全部特徵 屬性和優點,同時新增了物件導向程式設計 oop 的完全支援。c 語言包括過程性語言部分和類部分。過程性語言部分與c並無本質的差別,類部分是c中所沒有的,它是物件導向程式設計的主體。物件導向程式設計的本質是把資料和處理資料的過程當成乙個整體 ...

C語言菜鳥入門系列

使用c語言中的clock 函式來比較程式的執行速度 多項式求和 i 0na i xi i 0na i xi 普通的多項式求和演算法和秦九章演算法程式比較 由於函式執行一次的速度非常快,這裡可以重複執行多次函式達到時間雷擊的效果。double coff double x 4 start clock 多...