C++类&对象
C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是 C++ 的核心特性,通常被称为用户定义的类型。
类用于指定对象的形式,是一种用户自定义的数据类型,它是一种封装了数据和函数的组合。类中的数据称为成员变量,函数称为成员函数。类可以被看作是一种模板,可以用来创建具有相同属性和行为的多个对象。(类与结构体功能基本相同,但是类默认属性方法是私有的,结构体是公有的,在c语言中结构体中不能定义函数,但可以定义函数指针。在c++中则可以定义函数)
定义一个类
在类里定义共有属性
class box{
public : //公有属性
int l; //长
int w; //宽
int h; //高
};
int main(void)
{
box BOX; //声明对象
BOX.h=10; //赋值
BOX.l=10;
BOX.w=10;
}
在类里定义共有方法
class box{
public : //公有属性
int l; //长
int w; //宽
int h; //高
int get()
{
return l*w*h; //定义体积计算方法
}
};
int main(void)
{
box BOX; //声明对象
BOX.h=10; //赋值
BOX.l=10;
BOX.w=10;
cout<<BOX.get()<<endl;
}
计算结果为1000;
当然类的方法也可以在类内声明,类外实现
class box{
public : //公有属性
int l; //长
int w; //宽
int h; //高
int get();
//定义体积计算方法
};
int box::get(){
return l*w*h;
}
类访问修饰符
数据封装是面向对象编程的一个重要特点,它防止函数直接访问类类型的内部成员。类成员的访问限制是通过在类主体内部对各个区域标记 public、private、protected 来指定的。关键字 public、private、protected 称为访问修饰符。
一个类可以有多个 public、protected 或 private 标记区域。每个标记区域在下一个标记区域开始之前或者在遇到类主体结束右括号之前都是有效的。成员和类的默认访问修饰符是 private。
class box{
public : //公有属性
int l; //长
int w; //宽
int h; //高
int get(); //定义体积计算方法
private: //私有成员 外部对象不可访问操作,子类可以继承私有成员,但不可见,不能操作
protected: //被保护成员 外部对象不可访问操作,子类可访问操作
};