適当なclass Dateとそれらのコンストラクタ、デストラクタを定義したします。
もし
Date test(Date dt){処理}という関数を実行した場合、
引数、戻り値にはテンポラリオブジェクトが作成されると思います。
それらのテンポラリオブジェクトのコンストラクタ、デストラクタは、呼び出されますか?
適当なプログラムで試した所デストラクタしか呼び出されませんでした。
引数や戻り値の一次オブジェクトを作成する際に呼び出されるのは、コピーコンストラクタです。
引数なしのデフォルトコンストラクタではありません。
class Date { public: Date() { // こっちじゃなくて ... } Date(const Date& o) { // こっちが呼ばれる ... } };