C++面向对象的三大特征:封装、继承、多态。
C++认为任何事物都可以表示为对象,对象有属性和行为。
1.封装的意义
1.将属性和行为作为一个整体,用来表示生活中的事物
示例:
#include <iostream>
using namespace std;
#include <string>
#define PI 3.14
class Circle
{
public:
int m_r;
double calculate()
{
return 2 * PI * m_r;
}
};
int main()
{
Circle c1;
c1.m_r = 10;
cout << "圆的周长为:" << c1.calculate() << endl;
return 0;
}
2.把属性和行为放在不同的权限下,加以控制
访问权限有三种:
- public 公共权限
- protected 保护权限
- private 私有权限
示例:
#include <iostream>
using namespace std;
#include <string>
//三种权限
//public 公共权限 类内可以访问,类外可以访问
//protected 保护权限 类内可以访问,类外不可以访问(子类可以访问)
//private 私有权限 类内可以访问,类外不可以访问
class Student
{
public:
string name;
protected:
string car;
private:
int password;
public:
void func()
{
name = "亚瑟";
car = "BYD";
password = 123456;
}
};
int main()
{
Student s1;
s1.name = "伽罗";
//以下两行代码为错误示例,运行时报错。
s1.car = "奔驰";
s1.password = 123456;
return 0;
}