c++中用构造函数赋值和用成员函数赋值有什么不一样

比如说classA{chara;public:A(charaa){a=aa};}和classA{chara;public:voidseta(charaa){a=aa};}... 比如说
class A
{
char a;
public:
A(char aa){a=aa};
}

class A
{
char a;
public:
void seta(char aa){a=aa};
}
有什么不一样呢
展开
 我来答
贡金兰祭雪
2019-01-18 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.2万
采纳率:28%
帮助的人:855万
展开全部
构造函数那个叫初始化不叫赋值。初始化和赋值的根本区别就在于初始化之前对象是无效的,赋值之前对象是有效的。初始化你不用考虑对象原来有什么东西,但是赋值要考虑。
举个栗子就是vector赋值需要释放原来的内容,初始化没这个问题,因为没有原来的内容。
ks6466686
2008-11-19 · TA获得超过169个赞
知道答主
回答量:128
采纳率:0%
帮助的人:0
展开全部
对象生成顺序:

1.系统先根据类的成员数据来划分空间;

2.系统初始化对象中的静态成员;

3.系统调用基类的构造函数;

4.系统调用本类的构造函数,将对象初始化;

初始化完成.
由上可见:构造函数在初始化的时候自动调用,不用用户去显示调用,而 函数初始化需要 用户手动调用!

而在 继承多态的体系中,使用构造函数,可以使父类的数据在初始化 对象本身的时候也初始化,这样 很方便,也不会出现 因为 没有显示 初始化带来的编程错误!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhd070341401
2008-11-19 · TA获得超过129个赞
知道答主
回答量:108
采纳率:0%
帮助的人:61.1万
展开全部
用构造函数的话那个对象在产生的时候就已经执行了,而用成员函数的话则需要你调用了它才执行。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yunbaishuilan
2008-11-19 · 超过36用户采纳过TA的回答
知道答主
回答量:99
采纳率:0%
帮助的人:113万
展开全部
区别 就是 构造函数 在生成对象的同时 就对变量赋值了 因为生成对象 要调用构造函数

成员赋值 在定义对象之后 ,再用对象调用成员函数时赋值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
changda_junge
2008-11-19
知道答主
回答量:46
采纳率:0%
帮助的人:0
展开全部
用构造函数:当新建一个对象时就自动赋值,而用成员函数则要显示调用.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式