c 建構函式,函式過載,復合類,類和物件

2021-08-04 06:00:54 字數 1455 閱讀 8953

1.

面向過程和物件導向主要區別可以簡單概括為:面向過程的程式設計是一種直接的程式設計方法是按照編

程語言的思路考慮問題;物件導向的程式設計是一種抽象度更高的程式設計方法,它的目標是使

模組的抽象度更高,可復用性更好。

2.物件導向的三大特徵:封裝性、繼承性和多型性。

3.封裝:隱藏物件的屬性和實現細節,僅對外提供公共訪問方式。

繼承:子類繼承父類的屬性和方法,實現**的復用。

多型:c++多型性是通過虛函式來實現的,虛函式允許子類重新定義成員函式,而子類重新定義父類的做法稱為覆蓋(override),或者稱為重寫。(這裡我覺得要補充,重寫的話可以有兩種,直接重寫成員函式和重寫虛函式,只有重寫了虛函式的才能算作是體現了c++多型性)而過載則是允許有多個同名的函式,而這些函式的引數列表不同,允許引數個數不同,引數型別不同,或者兩者都不同。編譯器會根據這些函式的不同列表,將同名的函式的名稱做修飾,從而生成一些不同名稱的預處理函式,來實現同名函式呼叫時的過載問題。但這並沒有體現多型性。

4.類和物件的關係:類是物件的抽象型別,而物件是類的具體例項。

5.結構體和類的區別:結構體成員預設是public,類成員預設是private.

6.//定義乙個圓類。屬性:圓心座標以及半徑,操作:對圓的資訊進行讀取、設

//置以及列印,計算兩個圓之間的距離。

#include

#include

using namespace std;

class cicle

float getx()

float gety()

float getr()

void print()

float d(cicle s)

};int main(int argc, const char * argv) //,,

void printthing()  //default constructor

thing(int a)

thing(int a, int b)

thing(int a, int b, int c)

void printthing()

void print() ;

point::point()

point::point(float _x,float _y)

void point::print()

//—————————————— ———————————————// class circle;

circle::circle(){} //center

//point circle::circle(float x,float y,float r):center(x,y),radius(r)

void circle::setcircle(float r,point p)

void circle::print()

int main(int argc, const char * argv)

c 類和物件,建構函式,函式過載,復合類。

c 類和物件,建構函式,函式過載,復合類。1.面向過程和物件導向主要區別可以簡單概括為 面向過程的程式設計是一種直接的程式設計方法是按照編 程語言的思路考慮問題 物件導向的程式設計是一種抽象度更高的程式設計方法,它的目標是使 模組的抽象度更高,可復用性更好。2.物件導向的三大特徵 封裝性 繼承性和多...

建構函式 函式過載 復合類 析構函式

建構函式特點 注意 如果不標明public裡面的,程式預設為私有成員變數 預設建構函式分兩種 1.建構函式不帶引數 2.建構函式帶引數但引數都有預設值 eg circle 預設建構函式 circle float a 0,float b 0,float c 0 預設建構函式帶引數有預設值 circle...

C 類建構函式

類是一種使用者自定義的型別,宣告乙個類物件時,編譯程式要為物件分配儲存空間,進行必要的初始化。在c 中,這項工作是由建構函式來完成的。大部分物件在使用之前沒有正確的初始化是c 出錯的主要原因。引入類的建構函式是正確的初始化類的物件,使該物件具有區別於其他物件的特徵。一般什麼時候觸發並呼叫類的建構函式...