今天我的朋友问我,为什么在C++中需要构造函数?而在结构化语言中我们可以做同样的事情。构造函数有什么特殊之处?请向我展示为什么需要构造函数,以便我在我的C++程序中使用它。请帮助我并给我一些例子,这样我就能澄清他的疑虑。
在同样的意义上,您不需要大多数流行语言的大多数功能一样,也不需要构造函数。
构造函数的存在是为了使做错误的事情更加困难。 在这种情况下,使用未初始化的数据。
这就是面向对象语言的工作方式。在 C 语言中,您需要使用 malloc 来分配内存,然后以某种方式初始化该内存。而在 C++ 中,构造函数同时完成了这两个任务。将这两个任务结合起来,可以让开发人员更难分配内存并忘记或失败地初始化它。
不可变对象。
在并行或并发编程时,使用不能被改变的对象更容易共享。您不必担心竞争条件、锁等问题。但是,在大多数面向对象编程语言中,创建不可变对象的唯一方法是通过构造函数。您无法设置对象上的属性,因为根据定义,所有属性都是只读的。