C 物件導向 基礎

2021-10-10 14:08:03 字數 1655 閱讀 6394

c++ 是一門物件導向程式設計的語言

在c語言中程式 是由演算法與資料結構組成的,在c++ 中可以說程式是由物件組成的 物件 == 資料 + 演算法

c ++ 具有三大特性 封裝(c++具有集合性 由類來體現 類是有一類具體事務抽向出來的,是對資料和演算法的封裝 ,類可以例項化為物件) , 繼承(在c++中為了提供**的重用性,支援類的繼承,子類可以繼承父類的共有的和父類中受保護的成員),多型(允許將子類型別的指標賦值給父類,給與父類介面多種實現方式)

在c++中所有動作必須由物件呼叫,物件是實體是實際存在的

public:(公共的) 這在任何地方可以使用

protected(受保護的):僅本類和奔=本類的派生類可見

private:(私有的):僅本類可以使用

注:類與結構體小區別:結體成員預設共有的 , 類成員預設私有的

set() 和 get() 在外部提供使用使用內部資料的介面

介面:規定別人必須按照我的規劃執行

目的:所有完成這件事的方法遮蔽

提供乙個唯一可以完成這件是的介面

可以由乙個或者多個,在定義例項化物件時只呼叫乙個,如果類中沒寫會呼叫乙個預設的建構函式

建構函式可以傳引數

**物件所占有的空間(堆區空間)

刪除類中指標成員在堆指向的空間,控制代碼成員也要在析構函式中刪除

物件的生命週期結束,自動呼叫會析構函式,,乙個類中只能有乙個析構函式

類中沒有資料成員時,類的型別長度是一位元組,是佔位符

類中資料成員變數是在生成物件時占用空間的

類中的方法成員實在類的編譯時生成的存在的屬於**段,存在於字元常量區

在c++ 中在使用類的方法時,因為方法實現存在,可以使用指標訪問

this指標是c++ 自動生成指向本類或者本物件的指標

c++ 中的成員方法是由隱藏預設引數的 是 類名 * this

this 的預設值是呼叫當前方法物件的首位址

// 語法 建構函式(引數):初始化列表 引數(值)

//// 在{} 內部的是賦值不是真正的初始化,初始化列表中的才是真正的初始化

初始化順序是按照定義的順序初始化的,誰先定義誰先初始化

注:const 成員只能在初始化列表中初始化

const 型別 * 被指向空間不可修改

型別 const * 所指方向不可以修改

常資料——只能在初始化成員列表中賦初值

常函式——不能修改引數資料

常物件——只能呼叫常方法

原因:物件屬性發生變化所有指標變為 const 型別 * 所指向空間內的值變為不可修改

靜態資料成員——必須在類外以與呼叫的方式進行初始化

靜態函式——只能使用靜態資料——因為沒有實列化時也可以使用靜態函式

使用原因: 保證所有物件中的同乙個資料一致 , 不是是每個物件都儲存這個變變數,程式中只有乙份

使用時可以用物件名訪問,也可以用類名訪問,通俗的說就是靜態資料成員時是屬於類的

靜態成員函式中沒有預設的this 指標成員 ,主要用於訪問靜態成員,也是屬於類的成員

相當於巨集(直接替換過來)直接將函式體替換到當前位置,節約函式呼叫的時間

在c++ 標頭檔案件中直接定義的函式預設為內聯函式

使用時,**簡單呼叫時間少,有點節約呼叫時間

函式函式

友員類對朋友公開自己私有的或者受保護的成員

c 物件導向基礎

物件導向程式設計一般分為兩個檔案,標頭檔案和原始檔,例如乙個person 類,分為person.h和person.cpp person.h中有類,函式的宣告 pragma once 該檔案不會被編譯多次 include 引入string include person.h using namespac...

c 物件導向基礎

物件導向是一種負荷人類思維習慣的變成思維。物件導向的思想有三大特徵 封裝性,繼承性和多型性。前兩個特徵比較好理解,多型性說白了就是子類重複父類的虛函式。類與物件 類是對某一類事物的抽象描述,物件用於表示現實中該類事物的個體。物件導向的思想中最核心的就是物件,為了在程式中建立物件,首先需要定義乙個類。...

C 物件導向基礎

1.類和例項 類就是具有相同的屬性和功能的物件的抽象集合。例項,就是乙個真實的物件,例項化就是建立物件的過程,使用new關鍵字來建立。class cat private void button1 click object sender,eventargs e 2.構造方法 構造方法,又叫建構函式,其...