7. 内建类型的构造函数
前面我们自己定义了 Rectangle 类 和 Square 类,这些类使我们自己定义的数据类型。在 C++ 语言中,char、int、float、double这些也同样是类,他们和我们自己定义的类是一样的。只是这些类的定义都定义在编译器内,任何开发人员都不能改变这些类的行为和属性。
虽然这些类都是编译器内构建好的,但当我们使用这些类时,这些类和我们用户自定的类一样都要经过分配内存、初始化、使用、析构、释放内存等几个步骤。并且这些类也都有自己的构造函数和析构函数(后面才讲)。
下面举例说明以下几个基础数据类型调用的构造函数。
示例
int a; // 调用无参数的构造函数 `int()`。
int b = 100; // 调用有一个int参数的构造函数 int(int)
int c = 3.1; // 调用有一个double参数的构造函数 int(double)
float f1; // 调用无参数的构造函数 `float()`。
float f2 = 200; // 调用有一个int参数的构造函数 float(int)
float f3 = 3.2; // 调用有一个float参数的构造函数 float(float)
实验
尝试自定义的类 class MyInt 和 class MyFloat 代替上述示例中的 int 和 float 使上述示例依旧能编译通过(先不考虑操作的逻辑,只保证语法正确即可)。