类与对象概念
类是自定义的数据类型,定义了一组属性(数据成员)和方法(成员函数),用来描述具有相似特征和行为的对象,类是对象的抽象,类的实例被称为对象,对象是类的具体实体,可以在程序中使用和操作,通过创建对象,可以访问类中定义的属性和调用类中定义的的方法。
封装
封装的目的是将相关的数据和操作组织在一起,隐藏内部实现的细节,但对外提供接口,从而实现信息隐藏和数据保护,封装可以将类的实现细节与使用者分离,使得类在设计时可以不破坏外部代码的情况下修改类的内部实现。
下面是一个例子
class Circle{
private: //私有权限,类外不可以访问,儿子也不能访问到父亲
double radius;
public: //公共权限,类外可以访问
void setRadius(double r){
radius = r;
}
double getRadius() const { //在参数列表后加const为常量成员函数,不修改类的成员变量。
return radius;
}
double getArea() const {
return 3.14 * radius * radius;
}
protected: //保护权限,类外不可以访问,但儿子可以访问父亲的
};
int main(){
Circle c; // 创建类的实例对象
c.setRadius(5.0);
double area = c.getArea(); // 计算面积
}
class和struct区别
默认访问权限
对于struct默认对象访问权限是公共的,而class默认成员访问权限是私有的。
继承方式
对于struct默认继承方式为公共继承,而class默认继承方式是私有继承。