首先我们给出一个类的例子
一. 在main()中,对象st不知道该调用哪一个构造函数,因为CStack()和CStack(int size=100)都满足条件,此时正确的编译器会立即标示这种冲突,强迫实现者解决这个问题。
二. 假设我们已经有了一个CStack对象s1CSatck s2=s1; //这个句子将会调用复制构造函数CStack s3 = CStack(200); //这个句子将会做什么呢?首先,产生一个临时CStack对象,不妨命名为sss,并调用构造函数CStack::CStack(200),随后执行复制构造函数。也就是说,它相当于CStack sss(200);CStack s3(sss);这很浪费时间,不过,大多数编译器还是能优化这种语句。但是我们为什么不养成一个好的习惯,直接写成CStack s3(200)呢?
posted on 2009-04-29 17:45 jaysoon 阅读(369) 评论(0) 编辑 收藏 引用 所属分类: C++
Powered by: C++博客 Copyright © jaysoon