C 物件導向知識點一 類與訪問許可權

2021-08-25 14:04:24 字數 1629 閱讀 8329

目錄

物件導向:類的定義 

類的成員函式

公有成員

私有成員

保護成員

三種訪問許可權在繼承中的特點

// 類和物件.cpp : 定義控制台應用程式的入口點。

//#include "stdafx.h"

#include class person

void getname(char *na)

char get***()

int getage()

void setdata(char, char, int, int);

protected:

void changeid(int num) };

void person::setdata(char na, char s, int a, int num) // 使用範圍解析運算子::來定義成員函式

int main()

關鍵字private,protected,public 表示類的成員的訪問許可權:私有的,保護的和公有的。

私有成員和保護成員在類外不能使用成員訪問運算子(.)來直接訪問。

成員訪問許可權

類內訪問特性

類外訪問特性

private

可直接訪問

不可直接訪問

protected

可直接訪問

不可直接訪問

public

可直接訪問

可直接訪問

公有成員(公有變數,公有成員函式)在類的外部是可以訪問的。

私有成員變數或函式在類的外部是不可訪問的,甚至是不可檢視的。只有在類內和友元函式可以訪問私有成員

預設情況下,類的所有成員都是私有的。在沒有使用任何訪問修飾符(private,protected,public)時,類的成員將被假定為私有成員。

實際操作中,我們一般會在私有區域定義資料,在公有區域定義相關的函式,以便在類的外部也可以呼叫這些函式,

保護成員變數或函式與私有成員十分相似,但不同的是,保護成員在派生類(子類)中是可以訪問的。

繼承方式

基類成員訪問屬性

在派生類中的訪問屬性

public

public

public

protected

protected

privateprivate

protected

public

protected

protected

protected

privateprivate

private

public

private

protected

private

privateprivate

1.private 成員只能被本類成員(類內)和友元訪問,不能被派生類訪問;

2.protected 成員可以被派生類訪問。

C 類 物件知識點

在類體內不允許對成員函式進行初始化。定義類時,類的資料成員不佔記憶體空間 但是,建立類的物件時,只為每個物件分配用於儲存資料成員的記憶體,不為函式成員分配記憶體。在定義類時,不能定義該類的變數,只能定義該類型別的指標成員和該類型別的引用成員。淺拷貝和深拷貝的區別 當類的資料成員是指標型別時,深拷貝能...

C 知識點 類和物件

c 知識點目錄索引 1.類和物件 2.類和物件的特點 3.具體例子 3.1 類的定義 類內定義成員函式 class person 類外定義成員函式 class person void date show 類外寫成員函式必須指明函式屬於哪乙個類域 void test 4.類的作用域 例 類的宣告 cl...

C 物件導向知識點十二 多型

物件導向的三大特性 封裝性是基礎,繼承性是關鍵,而多型性是補充。多型是建立在虛函式的基礎之上的。靜態多型 函式過載,運算子過載,函式模板和類模板 動態多型 也稱為執行時多型,即在程式執行時刻才能決定的東西。靜態聯編 聯編出現在編譯連線階段,又稱為早期聯編,以實現靜態多型。動態聯編 程式中若出現函式呼...