012 构造函数(constructor)

参考内容:北京大学信息科学技术学院《程序设计实习》,郭伟老师&刘家瑛老师

012 构造函数(constructor)

目录

0)基本概念

1)没有构造函数

2)有构造函数

3)多个构造函数

4)构造函数在数组中的使用

 


0)基本概念

012 构造函数(constructor)

 

 012 构造函数(constructor)

1)没有构造函数

012 构造函数(constructor)

2)有构造函数

012 构造函数(constructor)

3)多个构造函数

012 构造函数(constructor)

012 构造函数(constructor)

012 构造函数(constructor)

4)构造函数在数组中的使用

012 构造函数(constructor)

012 构造函数(constructor)

解释:

array1[2]数组是有两个元素的,没有赋初值,因此执行两次CSample()

array2[2]数组是有两个元素的,有赋初值,因此执行两次CSample(int n)

array3[2]数组是有两个元素的,array[0]有初值,array[1]没有初值,因此执行一次CSample(int n)和一次CSample()

array4[2]指针数组是有两个元素的动态空间,有赋初值,因此执行两次CSample(),如果指针数组没有赋初值,情况有所不同,看下面:

012 构造函数(constructor)

每个数组有三个元素,pArray[3]区别于array1[3],指针数组在第三个元素初值缺省的情况下,不会调用构造函数初始化,只对有初值的元素初始化。