C++为定义的类提供了默认的拷贝构造函数,那么,我们是否还需要自定义拷贝构造函数?由于stud1是在函数func中定义的,在调用func函数结束的时候,stud1的生命周期就结束了,因此,并不是将stud1带回main函数,而是在函数func结束前执行 return 语句时,调用student类中的拷贝构造函数,使用stud1复制一个新的对象,然后,将它赋值给stud2。
对比于 C 语言的函数,C++增加了重载、内联、const 和 virtual四种新机制。例如示例 8-1-1 中的函数 EatBeef,EatFish,EatChicken 可以用同一个函数名 Eat 表示,用不同类型的参数加以区别。