デフォルトパラメータを使用したコンストラクション関数

1154 ワード

ソース:
<span style="font-size:14px;">#include<iostream>
using namespace std;
class Volume
{
	public:
		Volume(int l=10,int w=10,int h=10);
		void Volume_cout();
	private:
		int length;
		int width;
		int height;
};

Volume::Volume(int l,int w,int h)
{
	length=l;
	width=w;
	height=h;
}

void Volume::Volume_cout()
{
	int result;
	result=length*width*height;
	cout<<result<<endl;
}

int main()
{
	Volume p1;
	p1.Volume_cout();
	Volume p2(20);
	p2.Volume_cout();
	Volume p3(20,30);
	p3.Volume_cout();
	Volume p4(20,30,40);
	p4.Volume_cout();
	return 0;
}</span>
注意:
     1.コンストラクション関数にデフォルトのパラメータがあると、コンストラクション関数に等しい個数よりも小さい実パラメータの個数が自由になります.
     2.デフォルト値を指定する場所は、コンストラクション関数を宣言するときです.
     3.Volume(int l=10,int w=10,int h=10);この文は、Volume(int=10、int=10、int=10)は省略できると言っても、省略しないほうがいいと思います.はっきり書いてソースコード自体がはっきりしているからです.
     4.パラメータのコンストラクション関数を使用せずに、1つのクラスに1つしかありません.
     5.1つのクラスでデフォルトのパラメータがすべて定義されたコンストラクション関数を定義した後、コンストラクション関数を再ロードすることはできません.すなわち,このクラスの構造関数は1つしかない.これは実は比較的に理解しやすくて、仮定して1つのすべてデフォルトのパラメータの構造関数の関数を定義して、また1つのリロードの構造関数を定義して、それではシステムはその構造関数を実行しますか?