GetPrice() yöntemini değiştirdim, CopyClose() kullanarak yerleştirdim CopyBuffer() kullanıyorum. Bu ana hedefi değiştirmez.
Bu nedenle, getPrice() yönteminde "const" anahtar sözcüğünü kullanırsam, şu hatayı alıyorum: " 'CopyBuffer' - aşırı yüklemelerin hiçbiri " işlev çağrısına uygulanamaz . Bunun, CopyBuffer bir const yöntemi olmadığı ve bir const yöntemi içinde const olmayan yöntemi çağırmanın mümkün olmadığı için gerçekleştiğini düşünüyorum.
thisObject'i bırakabilir ve karşılaştırmada "bu" ile değiştirebilirsiniz.
Ama neden "Karşılaştır" işlevi yerine "operatör" işlevini kullanmıyorsunuz? Kodun daha sonra okunmasını kolaylaştırır.
CObject temel sınıfının polimorfik bir yöntemi olduğundan ve Collection sınıfları, CArrayObj ve CList'te sıralama ve arama gerçekleştirmek için geçersiz kılınması gerekir.
Bu mantıkla ne elde etmeyi umduğunuzdan emin değilim. Tipik olarak, sıralama ve arama için yalnızca aynı öğeleri karşılaştırmak istersiniz.
Aynen şimdi sıralama oluyor, ondan önce kıyaslama yapamadım, hatalar, hatalar ve hatalar alıyordum. Şimdi çalışıyor.
Bu yaklaşım bariz değil ve hiçbir belgede yok, bunuelde edene kadar çok fazla test ve "deneme yanılma" yapmak zorunda kaldım. Umarım diğerleri çözümün tadını çıkarabilir.
Aynen şimdi sıralama oluyor, ondan önce kıyaslama yapamadım, hatalar, hatalar ve hatalar alıyordum. Şimdi çalışıyor.
Bu yaklaşım bariz değil ve hiçbir belgede yok, bunuelde edene kadar çok fazla test ve "deneme yanılma" yapmak zorunda kaldım. Umarım diğerleri çözümün tadını çıkarabilir.
"this" değerini almak için Compare()işlevinde neden "&" operatörüne ihtiyaç duyduğunuzu merak ediyorum.
Eh, bu "neden" sorusuna cevap vermiyor. İşaretçiyi kendine ifşa etmek için hiçbir sebep yoktu.
Hayır, kesinlikle bu örnekte gereksiz bir çıkarma olduğu için değil, ama diyelim ki bunu yalnızca bir işaretçiyi kabul eden bir yönteme iletiyorsunuz, o zaman onu kullanmanız gerekecek... method(&this)
Merhaba @Alain Verleyen ,
GetPrice() yöntemini değiştirdim, CopyClose() kullanarak yerleştirdim CopyBuffer() kullanıyorum. Bu ana hedefi değiştirmez.
Bu nedenle, getPrice() yönteminde "const" anahtar sözcüğünü kullanırsam, şu hatayı alıyorum: " 'CopyBuffer' - aşırı yüklemelerin hiçbiri " işlev çağrısına uygulanamaz . Bunun, CopyBuffer bir const yöntemi olmadığı ve bir const yöntemi içinde const olmayan yöntemi çağırmanın mümkün olmadığı için gerçekleştiğini düşünüyorum.
Görünen o ki, "bu"nun değerini almak için Compare() işlevinde "&" operatörünü kullanarak sorunu çözdüm:
Sonunda beklediğim değeri aldım.
thisObject'i bırakabilir ve karşılaştırmada "bu" ile değiştirebilirsiniz.
Ama neden "Karşılaştır" işlevi yerine "operatör" işlevini kullanmıyorsunuz? Kodun daha sonra okunmasını kolaylaştırır.
thisObject'i bırakabilir ve karşılaştırmada "bu" ile değiştirebilirsiniz.
Ama neden "Karşılaştır" işlevi yerine "operatör" işlevini kullanmıyorsunuz? Kodun daha sonra okunmasını kolaylaştırır.
CObject temel sınıfının polimorfik bir yöntemi olduğundan ve Collection sınıfları, CArrayObj ve CList'te sıralama ve arama gerçekleştirmek için geçersiz kılınması gerekir.
Görünen o ki, "bu"nun değerini almak için Compare() işlevinde "&" operatörünü kullanarak sorunu çözdüm:
Sonunda beklediğim değeri aldım.
Bu mantıkla ne elde etmeyi umduğunuzdan emin değilim. Tipik olarak, sıralama ve arama için yalnızca aynı öğeleri karşılaştırmak istersiniz.
Bu mantıkla ne elde etmeyi umduğunuzdan emin değilim. Tipik olarak, sıralama ve arama için yalnızca aynı öğeleri karşılaştırmak istersiniz.
Aynen şimdi sıralama oluyor, ondan önce kıyaslama yapamadım, hatalar, hatalar ve hatalar alıyordum. Şimdi çalışıyor.
Bu yaklaşım bariz değil ve hiçbir belgede yok, bunu elde edene kadar çok fazla test ve "deneme yanılma" yapmak zorunda kaldım. Umarım diğerleri çözümün tadını çıkarabilir.
Aynen şimdi sıralama oluyor, ondan önce kıyaslama yapamadım, hatalar, hatalar ve hatalar alıyordum. Şimdi çalışıyor.
Bu yaklaşım bariz değil ve hiçbir belgede yok, bunu elde edene kadar çok fazla test ve "deneme yanılma" yapmak zorunda kaldım. Umarım diğerleri çözümün tadını çıkarabilir.
"this" değerini almak için Compare( ) işlevinde neden "&" operatörüne ihtiyaç duyduğunuzu merak ediyorum.
"this" değerini almak için Compare( ) işlevinde neden "&" operatörüne ihtiyaç duyduğunuzu merak ediyorum.
GetPointer(this) kullanmanın karşılığıdır.
Peki, bu "neden" sorusuna cevap vermiyor. İşaretçiyi kendine ifşa etmek için hiçbir sebep yoktu.
Eh, bu "neden" sorusuna cevap vermiyor. İşaretçiyi kendine ifşa etmek için hiçbir sebep yoktu.