C++学习笔记
---恢复内容开始---
1 类和对象
class Box { public: double length; // 盒子的长度 double breadth; // 盒子的宽度 double height; // 盒子的高度 };
类提供了对象的蓝图,所以基本上,对象是根据类来创建的。声明类的对象,就像声明基本类型的变量一样(int a)。下面的语句声明了类 Box 的两个对象:
Box Box1; // 声明 Box1,类型为 Box Box Box2; // 声明 Box2,类型为 Box
- 类的成员:类中的数据和方法
- 公共数据成员可以使用直接成员访问运算符 (.) 来访问
- 在面向对象中,我们说一个类有方法和字段,也可以说它有成员函数和成员变量。
类的成员:包括两类,即数据和方法(成员函数)。
公有(public)成员在程序中类的外部是可访问的。您可以不使用任何成员函数来设置和获取公有变量的值。
私有(private)成员变量或函数在类的外部是不可访问的,甚至是不可查看的。只有该类的成员函数和友元函数可以访问私有成员。
保护(protected)成员变量或函数与私有成员十分相似,但有一点不同,保护成员在派生类(即子类)中是可访问的。
-
1.private 成员只能被本类成员(类内)和友元访问,不能被派生类访问;
-
2.protected 成员可以被派生类访问。
2 构造函数和析构函数
类的构造函数是类的一种特殊的成员函数,它会在每次创建类的新对象时执行。
构造函数的名称与类的名称是完全相同的,并且不会返回任何类型,也不会返回 void。构造函数可用于为某些成员变量设置初始值。
class Line { public: void setLength( double len ); double getLength( void ); Line(); // 这是构造函数 private: double length; }; // 构造函数定义 Line::Line(void) { cout << "Object is being created" << endl; }
// 带参数的构造函数定义 Line::Line( double len) { cout << "Object is being created, length = " << len << endl; length = len; }
Line::Line( double len): length(len) { cout << "Object is being created, length = " << len << endl; } //使用初始化列表来初始化字段
上述代码等同于:
Line::Line( double len)
{
length = len; cout << "Object is being created, length = " << len << endl;
}
3 多态
同一操作,作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。
---恢复内容结束---
1 类和对象
class Box { public: double length; // 盒子的长度 double breadth; // 盒子的宽度 double height; // 盒子的高度 };
类提供了对象的蓝图,所以基本上,对象是根据类来创建的。声明类的对象,就像声明基本类型的变量一样(int a)。下面的语句声明了类 Box 的两个对象:
Box Box1; // 声明 Box1,类型为 Box Box Box2; // 声明 Box2,类型为 Box
- 类的成员:类中的数据和方法
- 公共数据成员可以使用直接成员访问运算符 (.) 来访问
- 在面向对象中,我们说一个类有方法和字段,也可以说它有成员函数和成员变量。
2 多态
同一操作,作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。