c++物件導向基礎入門
物件導向三大特性:封裝 繼承 多型
const double pi=
3.14
;class
circle
//包括屬性,行為
void
print()
void
settime
(int b[3]
)//privade:(class預設許可權)
protected
: string car=
"拖拉機";}
;int main()
; c1.
settime
(b);
cout<
輸出為
圓的周長是62.8
baishaohua
拖拉機2021
120
這裡注意,class感覺就是高階版的結構體,他們的區別是class預設的是private,不可以在類外訪問到,必須加上public才可以被訪問,而結構體預設的就是public,可以直接在類外訪問
用類中的函式訪問私有屬性,可以判斷資料的有效性
class
person
string getname()
private
: string m_name;
int m_age;
string m_lover;};
int main()
class
person
int m_1;
int m_2;
int m_3;};
int main()
注意這裡的person是乙個建構函式中的有參構造,用它對類的屬性賦值是相當的方便。
class
person
person()
//建構函式 有參構造和無參構造(預設)
~person()
person
(const person &p)
//拷貝建構函式 區別於普通建構函式
int m_1;};
int main()
只要例項化乙個類都會呼叫建構函式和析構函式
此外,靜態成員變數不屬於任意乙個類
空物件所佔記憶體為1
成員函式與成員變數分開儲存 非靜態成員函式不屬於類物件上 只有非靜態成員變數屬於類的物件上
class
person
int m_1;
int m_2;
int m_3;};
void operator<<
(ostream &cout,person &p)
int main()
輸出:
m_1=
30 m_2=
20 m_3=
10
注意這裡的輸出,是不是感覺c++可以隨心所欲?
class
common
;class
man:
public common
;class
woman
:public common
;void
setvalue
(man&p1,woman&p2)
void
getvalue
(man&p1,woman&p2)
int main()
輸出:
the man p1's value is as follows
4000
1783.5
2068
________**
****
**______
the woman p2's value is as follows
3600
1684
78100
class
animal};
class
cat:
public animal};
void
dospeak
(animal &animal)
int main()
輸出:
小貓在說話
關鍵字vertual虛函式實現呼叫子類函式
自此,簡單的類和物件導向就學完了,嘿嘿!!
物件導向入門基礎練習
請定義乙個描述矩形 myrectangle 的類,包含寬和高兩個屬性,提供獲取矩形周長 perimeter 和 面積 area 的方法。並編寫測試類進行測試。在這裡插入package com.itheima public class myrectangle public void setwidth ...
C 入門物件導向基礎知識
隨著語言學習的比較多,而且都處於基礎階段,基礎容易被忘記,做個例子,複習用。其中的內容和python比較相似,畢竟都是物件導向。include includeusing namespace std define max 10 class box box box int age 建構函式 box bo...
c 物件導向基礎
物件導向程式設計一般分為兩個檔案,標頭檔案和原始檔,例如乙個person 類,分為person.h和person.cpp person.h中有類,函式的宣告 pragma once 該檔案不會被編譯多次 include 引入string include person.h using namespac...