C++面向对象的三大特性:封装、继承、多态 。
C++认为万事万物皆为对象,对象上有其属性和行为。
具有相同性质的对象,我们可以抽象为类。
封装 意义:将属性和行为作为一个整体,表现生活中的事物
#include <cstdio>
#include <iostream>
using namespace std;
const double PI =3.14;
//class 代表设计一个类,类后面紧跟着的是类名称
class circle{
//访问权限 公共权限
public:
//属性 半径(变量)
int r;
//行为 获取圆的周长(函数)
double calculat(){
return 2*PI*r;
}
};
int main(){
//通过圆类 创建具体的圆(对象)
//实例化 通过类创建一个对象的过程
circle c1;
c1.r=10;
cout<<c1.calculat()<<endl;
return 0;
}
类中的属性和行为统一称为成员
属性:成员属性、成员变量
行为:成员函数、成员方法
将属性和行为加以权限控制
public 公共权限
protectde 保护权限
private 私有权限
struct和class的区别 :默认的访问权限不同
struct默认权限是公共,class默认权限是私有
成员属性设置为私有 优点:1.将所有成员属性设置为私有,可以自己控制读写权限
2.对于写权限,我们可以检测数据的有效性
#include <iostream>
#include <string>
using namespace std;
class Person{
public:
//设置姓名
void setname(string name){
m_name=name;
}
//获取姓名
string getname(){
return m_name;
}
//获取年龄
int getage(){
m_age=10;
return m_age;
}
//设置情人
void setlover(string lover){
m_lover=lover;
}
private:
string m_name;//可读可写
int m_age;//只读
string m_lover;//只写
};
int main(){
Person p1;
p1.setname("zhangsan");
cout<<p1.getname()<<endl;
p1.setlover("changjing");
}