为了账号安全,请及时绑定邮箱和手机立即绑定

构造函数已经可以实现对数据成员的赋值,为什么还要写一个数据封装set函数?

构造函数已经可以实现对数据成员的赋值,为什么还要写一个数据封装set函数?再从另一个角度来看,我每次调用set函数给数据成员赋值,是不是编译器每次都会自动调用构造函数?

正在回答

2 回答

构造函数是给数据成员赋初值,调用set函数给数据成员赋与初值不同的值。

0 回复 有任何疑惑可以回复我~
#1

慕少9488580 提问者

再从另一个角度来看,我每次调用set函数给数据成员赋值,是不是编译器每次都会自动调用构造函数?
2016-05-20 回复 有任何疑惑可以回复我~
#2

慕少9488580 提问者

非常感谢!
2016-05-20 回复 有任何疑惑可以回复我~

构造函数只有第一次实例化的时候会调用,为了防止后续出现问题一般会在构造函数里初始化数据,而set函数主要是用于对已实例化的对象赋值或者可以理解为修改数据

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之封装篇(下)
  • 参与学习       70919    人
  • 解答问题       514    个

封装--面向对象三大特征之一,通过案例让C++所学知识融会贯通

进入课程

构造函数已经可以实现对数据成员的赋值,为什么还要写一个数据封装set函数?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信