C++面向對象三大特性:
????????(1)封裝;(2)繼承;(3)多態;
C++認為萬物皆是對象,對象上有對應的屬性(數據)和行為(方法)
1 特性一:封裝
1.1 封裝的意義
(1)將屬性和行為作為一個整體,表現生活中的事物
const double PI = 3.141592;
?
class Circle
{private:double m_radius; // 屬性--半徑public:Circle(double r); // 構造函數,將圓的半徑作為參數double calcPerimeter() // 方法--計算周長的{return 2*PI*m_radius;}
}
(2)將屬性和行為加以權限控制
class Circle
{private: // 成員 類內可以訪問,類外不可以訪問。繼承關系中兒子不能訪問父親的私有內容。double m_1;public: // 成員 類內可以訪問,類外可以訪問double m_2;protected: // 成員 類內可以訪問,類外不可以訪問。繼承關系中兒子可以訪問父親的保護內容。double m_3;
}
1.2 類class和結構體struct
唯一區別:結構體struct默認權限是公共的-->public,而類class默認權限是私有的-->private
struct c1
{int attr1; // 默認權限是公共的-->public
};
?
class c2
{int attr2; // 默認權限是私有的-->private
};