C++ 类 & 对象
- 关键字 public 确定了类成员的访问属性
- 类的对象的公共数据成员可以使用直接成员访问运算符 (.) 来访问
- 私有的成员和受保护的成员不能使用直接成员访问运算符 (.) 来直接访问
- 类的成员函数是指那些把定义和原型写在类定义内部的函数,就像类定义中的其他变量一样
- 类成员函数是类的一个成员,它可以操作类的任意对象,可以访问对象中的所有成员
- 成员函数可以定义在类定义内部,或者单独使用范围解析运算符 :: 来定义
double Box::getVolume(void)
- 在类定义中定义的成员函数把函数声明为内联的,即便没有使用 inline 标识符
- 数据封装,类成员的访问限制是通过在类主体内部对各个区域标记 public、private、protected 来指定的。关键字 public、private、protected 称为访问修饰符
- 一个类可以有多个 public、protected 或 private 标记区域,每个标记区域在下一个标记区域开始之前或者在遇到类主体结束右括号之前都是有效的,成员和类的默认访问修饰符是 private
- 公有成员在程序中类的外部是可访问的,您可以不使用任何成员函数来设置和获取公有变量的值
- 私有成员变量或函数在类的外部是不可访问的,甚至是不可查看的,只有类和友元函数可以访问私有成员
- 保护成员变量或函数与私有成员十分相似,但是保护成员在派生类(即子类)中是可访问的
class Box
{
protected:
double width;
};
class SmallBox:Box
{
public:
double getSmallWidth( void ){
return width ;
}
};
int main( )
{
SmallBox box;
cout << "Width of box : "<< box.getSmallWidth() << endl;
}
- 有public, protected, private三种继承方式,它们相应地改变了基类成员的访问属性
- public 继承:不变
- protected 继承: public 变成 protected
- private 继承:全变成 private
- private 成员只能被本类成员(类内)和友元访问,不能被派生类访问
- protected 成员可以被派生类访问
C++ 类构造函数 & 析构函数
- 构造函数是类的一种特殊的成员函数,它会在每次创建类的新对象时执行
- 构造函数的名称与类的名称是完全相同的,并且不会返回任何类型,也不会返回 void
- 构造函数可用于为某些成员变量设置初始值