作者:子宇24
链接:https://www.cnblogs.com/dishengAndziyu/p/10904899.html
1、对象的构造通过构造函数来完成,和类名相同且没有返回值,这个时候只有参 数一个特性,构造函数可以自定义参数,这个参数一般而言就是对类进行初始 化来使用的;带有参数的构造函数的意义在于可以使得每个对象有不同的初始 化状态(生活中每个事物必然包含自己的初始化状态,不如人的出生,面向对 象用来将生活中的事物映射的程序设计领域,所以现实世界的情况都必须可以 用面向对象的语言来描述,因此带有参数的构造函数就是非常必要的);
2、带有参数的构造函数:
构造函数可以根据需要定义参数;
一个类中可以存在多个重载的构造函数;
构造函数的重载遵循 C++ 重载的规则;
代码示例:
class Test
{
public:
Test(int v)
{
// use v to initialize member
}
};
3、对象定义和对象声明的区别:
对象定义:申请对象的空间并调用构造函数;
第一步,必须申请对象所占用的内存空间;
第二步,调用构造函数;
对象声明:告诉编译器存在这样一个对象;
对象在哪里定义的不知道,链接的时候回去找;
预处理,编译器对源代码进行检查并生成目标文件,链接器在各个目标文件中寻找目标文件存在的一些名字;
对象声明时,没有对象定义时的两个步骤;
代码示例:
Test t; // 定义对象并调用构造函数;
Int main(){
// 告诉编译器存在名为 t 的Test对象;
extern Test t;