C++类与对象--1 特性一:封装
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
};