Bunu doğru mu yapıyorum? Ben bir C++ sınıf kurucusunu temelde aynı kod 3 kez tekrarlayan şekilde temsil etmeye çalışıyorum. C++ x11'i okudum ve g ++ 4.7.2'nin buna izin verdiğini okudum ama bunu yapıyorumsa emin değilim. sağ:Temsilci Oluşturucu C++
Bitmap::Bitmap(HBITMAP Bmp)
{
//Construct some bitmap stuff..
}
Bitmap::Bitmap(WORD ResourceID)
{
HBITMAP BMP = (HBITMAP)LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(ResourceID), IMAGE_BITMAP, 0, 0, LR_SHARED);
Bitmap(BMP); //Delegates to the above constructor? Or does this create a temporary?
}
VEYA yapmam gerekiyor:
Bitmap::Bitmap(HBITMAP Bmp)
{
//Construct some bitmap stuff..
}
Bitmap::Bitmap(WORD ResourceID) : Bitmap((HBITMAP)LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(ResourceID), IMAGE_BITMAP, 0, 0, LR_SHARED))
{
}
İkincisi doğru. Derleme yapmıyor mu? – chris
Her ikisi de derlenir. Sadece başlangıç listesi sürümüne ihtiyacım olup olmadığını veya ilk kabul edilebilir olup olmadığını merak ediyordum. – Brandon
Ah, senin ikilemini görüyorum. Birincisi isimlendirilmemiş bir nesne yaratır ve onunla hiçbir ilgisi yoktur, int (5); 'gibi. – chris