C++类(class)与默认构造函数

与c的结构体类似,用于对一个对象的各种 属性进行定义与描述。

不同的是,这里有public和private的区别:public类外部可以使用,例如main函数中定义一个student stu,那么stu.Print没有问题,但是stu.x报错了,因为private内的东西只有类内部成员才可以使用。

另外,类class有结构体没有的构造函数(与类同名的特殊函数)。它的主要工作其实是完成对象的初始化工作

  1. 默认构造函数包含三个:分别是无参构造函数、全缺省构造函数、编译器自动为我们生成的构造函数(如果自己不定义就是这个,但凡自己定义了一个就不会自动生成另外一个)。

  1. 自定义类型的构造函数

  1. 有参的构造函数

特点:

  1. 函数名称与类名相同;

  1. 无返回值;

  1. 创建类类型的对象时(对象实例化时)由编译器自动调用,保证每个数据成员都有一个合适的初始值;

  1. 在该对象的整个生命周期中只会调用一次

  1. 构造函数支持函数重载

例如:

student(int a,int b):x(a),y(b){},为x和y初始化。

这个写法与以下相同

student(int a,int b)

{

x=a; y=b;

}

第19行,定义对象的同时,构造函数同时被调用。

自定义类型,例如class,struct(class student就是student)类型,要用自定义类型的无参构造函数,不 然会报错;

其他的例如int,double类型可以不做处理,自动就是随机值。

如果有多个构造函数,函数重载,会根据对象声明时的参数个数对应class中的构造函数进行相应地调用。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值