本文为firedragonpzy原创,转载务必在明显处注明:
转载自【Softeware MyZone】原文链接: http://www.firedragonpzy.com.cn/index.php/archives/107
构造函数的初始化有两种:(一)在构造函数体的赋值语句中设置,(二)在构造函数中使用初始化列表
(一)构造函数体的赋值语句中设置
Student( string s_name = "pzy", string s_sex = "male", int i_age = 20 )
{
name = s_name;
sex = s_sex;
age = i_age;
}
(二)使用初始化列表
Student(string s_name, s_string sex, int i_age) : name(s_name), sex(s_sex), age(i_age)
其实,这不仅表示法不同,初始化的方式上也有很大的不同,效率也有悬殊。在使用在构造函数体中初始化成员的时候,首先创建该数据成员,再进行赋值语句。而使用初始化列表,数据成员在创建的时候,就用初始值进行了初始化。这要比在构造函数中使用赋值语句效率高得多,特别是在数据成员是一个类实例的时候。
分享到:
相关推荐
在C++编程语言中,构造函数是类的一个特殊成员函数,它的主要作用是初始化新创建的对象。构造函数的名称与类名相同,且没有返回类型。在这个实例中,我们看到了两种不同类型的构造函数:无参数构造函数和带有参数的...
1. 默认构造函数:如果子对象没有显式提供构造函数,编译器会为它提供一个默认构造函数,用于初始化数据成员为默认值。 2. 显式构造函数调用:可以使用成员初始化列表(member initialization list)来指定子对象的...
在C++中,构造函数是一种特殊类型的成员函数,它在创建对象时自动调用,用于初始化对象的状态。默认构造函数是指没有参数的构造函数,它的作用是当创建对象时,如果没有提供任何初始值,就使用默认值来设置对象的...
总结一下,C++构造函数在对象创建时起着关键作用。默认构造函数提供了无需指定初始值的创建对象的方式,而拷贝构造函数则用于创建对象的副本。了解并正确使用这些构造函数和赋值操作符对于编写健壮的C++代码至关重要...
2)构造函数采用带初始化列表的构造函数(参数默认值为空或零) 3)显示的写出析构函数 4)成员函数分别为:setDate ,getDate ,setTime ,getTime。 5)分别在栈区、堆区、全局区分别创建三个对象(创建时不提供参数...
拷贝构造函数是一种特殊的构造函数,它的功能是用一个已知的对象来初始化一个正在创建的同类对象。拷贝构造函数的特点: 1. 该函数名同类名,并且该函数也不被指定返回类型。 2. 该函数只有一个参数,对同类对象的...
6. **构造函数链**:当一个类继承自另一个类时,子类的构造函数可以调用父类的构造函数,以初始化父类的成员。这通常通过`super`关键字(在Java中)或直接调用父类的构造函数(在C++中)实现。 总之,参数传递在...
对于`a2`,它的`a`在构造函数初始化列表中被赋予3,覆盖了声明时的1。而`a3`在更复杂的构造函数中,虽然初始化列表中设置了`a`为4,但在函数体内部又用`a_`覆盖了这个值,因此`a3.a`的最终值取决于传入的参数。 ...
C++中的构造函数是类的一个特殊成员函数,其主要任务是在创建对象时初始化类的成员变量。构造函数的名称与类名相同,并且没有返回值。由于构造函数在对象实例化时自动调用,因此它是确保对象正确初始化的关键。根据...
1. 一个无参数的构造函数,它使用一组预设值(如 `height = 10`, `width = 10`, `length = 10`)初始化对象。 2. 一个带三个参数的构造函数,允许用户自定义 `Box` 的尺寸。 这样的重载使得用户可以选择合适的构造...
- 使用构造函数初始化矩形对象。 4. **任务2** - 设计一个分数类`CFraction`,实现分数的运算功能。 - 初始化分数的构造函数。 - 提供置值、输入、简化、放大等成员函数。 - 支持不同风格的输出方式。 5. **...
+ 可以采用没有参数的构造函数初始化对象,此时的成员变量采用默认值0。 + 可以采用直接输入参数的方式来初始化该类的成员变量。 + 可以采用其它的CPoint对象来初始化该类的成员变量。 * 设计实现一个CPerson类,...
### C++构造函数与析构函数 #### 实验目的及要求 本次实验旨在帮助学习者深入理解并掌握C++中的构造函数与析构函数的概念及其使用方法。具体目标包括: 1. **掌握构造函数和析构函数定义方法**:了解如何在类中...
4)构造函数的三个参数:小时、分、秒 设计为默认形成,其默认值为0。 5) 输出"构造函数被调用" 3、请设计一个拷贝构造函数,实现将参数的值全部传递给当前对象,同时输出“拷贝构造函数被调用” 4、请...
在这里,`x`有一个默认值0,而`y`则需要在构造函数中明确初始化。 在程序的主函数中,我们可以创建`MyClass`的对象,并通过构造函数调用来初始化成员变量,如下所示: ```cpp int main() { MyClass obj(10, 20.5)...
如果用户没有定义构造函数,C++编译器会自动生成一个默认的构造函数,这个默认构造函数不做任何事情,即不执行任何初始化操作。 析构函数则与构造函数相反,它在对象生命周期结束(通常是对象超出作用域或delete...
在C++编程语言中,类的构造函数是至关重要的,它是用来初始化类对象的特殊成员函数。构造函数的名称与类名相同,并且没有返回类型。在这个【标题】"C++ 类的构造函数详解及实例"中,我们将深入探讨构造函数的几个...