C++17 standartlarına göre aşağıdaki C++ programı çalıştırıldığında bu programın çıktısı ne olur?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
#include <iostream> struct B { B() { std::cout << "B"; } B(const B &) { std::cout << "b"; } virtual void f() { std::cout << "1"; } }; struct D : B { D() { std::cout << "D"; } D(const D &) { std::cout << "d"; } virtual void f() { std::cout << "2"; } }; int main() { D a[2]; for (B b : a) b.f(); } |
Sorunun yanıtı şu seçeneklerden biri de olabilir:
Sentaks hatası (derleme zamanı hatası)
Tanımsız davranış.
Derleyiciye göre değişir.