類和物件學習小記

2021-08-22 19:37:18 字數 1375 閱讀 8014

c++作為一種物件導向的程式語言,它的主要特點是:抽象、封裝、繼承和多型。

1、物件導向方法中的抽象,是指對具體問題進行概括,抽出一類物件的公共性質並加以描述的過程。它包括資料抽象和行為抽象。例如在計算機上實現乙個簡單的時鐘程式,資料抽象為時、分、秒,行為抽象為顯示時間、設定時間等功能。

資料抽象:int  hour,minute,second;        行為抽象:showtime(),settime();

2、封裝就是將得到的資料和行為相結合,形成乙個整體,也就是將資料與運算元據的函式**進行結合,形成「」類「,資料和函式都是類的成員。 

class clock                                      //class關鍵字,clock類名

;

宣告乙個類的物件為——類名   物件名;呼叫函式成員的一般形式——物件名.函式成員名(參數列),使用操作符「."

,成員函式的宣告要寫在類體中,具體形式為——返回值型別   類名::函式成員名(參數列)

一、類類的定義:

class 類名稱

私有成員只能被本類的成員函式訪問,來自類外部的任何訪問都是非法的。 

二、建構函式和折構函式

建構函式的作用就是在物件被建立時利用特定的值構造物件,將物件初始化為乙個特定的狀態。建構函式的名與類名相同,而且沒有返回值。建構函式分為有參和無參兩種。

例題:現有一圓形游泳池,在其周圍建一圓形過道,並在其四周圍上柵欄,柵欄單價為35元/公尺,過道為20元/平方公尺,過道寬為3公尺,泳池半徑由鍵盤輸入,程式設計計算出柵欄和過道的造價。 

#include using namespace std;

const float pi = 3.1415926;

const float fench_price = 35;

const float concrete_price = 20;

class circle

;float circle::area(float r)

float circle::perimeter(float r)

int main()

一、結構體

結構體是一種特殊形態的類,結構體和類的唯一區別在於,結構體和類具有不同的預設訪問控制屬性:在類中,對於未指定訪問控制屬性的成員,其訪問控制屬性為私有屬性(private);在結構體中,未指定屬性的成員,其訪問控制屬性為共有型別(public)。使用關鍵字struct定義。

二、聯合體

聯合體是一種特殊形態的類。聯合體的物件成員不能有自定義的建構函式、自定義的折構函式和過載的複製賦值運算子,這些物件成員的物件成員也不能有,以此類推。聯合體不能繼承,也不支援包含多型。

學習 類和物件 物件模型和this指標

成員變數和成員函式分開儲存 在c 中,類內的成員變數和成員函式分開儲存 第一點 空物件占用記憶體空間1個位元組 第二點 只有非靜態成員變數才屬於類的物件上,非靜態成員函式和靜態成員函式和靜態成員變數不屬於類的物件上 示例 如下 結果為4個位元組 include includeusing namesp...

Java學習 物件和類

面向過程的結構化程式設計 結構化程式的弊端 1.缺乏對資料的封裝 2.資料和方法 對資料的操作 的分離。什麼是抽象資料型別 什麼是類 定義雇員類 public class emp 在此示例中,僅僅定義了emp型別的組成,即成員變數。該類定義了4個成員變數 string型別的name用於存放名字 in...

PHP學習 類和物件

宣告乙個類 class site function geturl function settitle par function gettitle 建立物件 runoob new site taobao new site google new site 呼叫成員函式 runoob settitle 菜...