Online C++ Programlama Dili Kursu 🎯 Bu kurs katılımcıların öncelikle C++ programlama dilini çok iyi öğrenmelerini ve yazılım üretiminde profesyonel düzeyde bu dili kullanma becerisi edinmelerini hedeflemektedir.
Etiket: C++
C++ çalışma sorusu – 66 (kalıtım)
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 22 23 |
#include <iostream> class Base { public: void func(int) { std::cout << "int"; } }; class Der : public Base { public: void func(double) { std::cout << "double"; } }; int main() { Der der; der.func(10); } |
Sorunun yanıtı şu seçeneklerden biri de olabilir: Sentaks hatası (derleme zamanı hatası) Tanımsız davranış.
C++ çalışma sorusu – 64 (C ve C++ dillerinde bool türü)
Aşağıdaki kaynak kod a) C dilinin kurallarına göre derlenip çalıştırıldığında ne olur? b) C++ dilinin kurallarına göre derlenip çalıştırıldığında ne olur?
1 |
#include <stdbool.h> |
Önişlemci komutu
C++ çalışma sorusu – 62 (remove duplicates)
Bu soruda bir yazıda tekrar eden karakterleri silerek, yazıda yalnızca bunlardan ilkini bırakmanız isteniyor.
1 2 3 |
#include <string> std::string &remove_duplicates(std::string &); |
işlev üstünde silme yaptığı std::string nesnesini döndürüyor. Aşağıdaki test
C++ çalışma sorusu – 61 (özel üye işlevler)
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ı
verim, performans, veri yapıları ve algoritmalar
Verim (efficiency) ile performans (performance) sıklıkla birbiriyle karıştırılıyor. Verim bir görevin gerçekleştirilmesi için ne kadar iş yapıldığı anlamına geliyor. Yani aynı görevi gerçekleştirmek için ne
C++20 implicit this capture
C++20 standartları this göstericisinin örtülü (implicit) olarak yakalanmasını “deprecated” olarak belirliyor. C++23 standartları bu özelliği dilden tamamen kaldırılabileceğinden kullanmamakta fayda var. Aşağıdaki koda bakalım:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
#include <iostream> struct Nec { int mx = 5; // void func() { auto f = [=] {std::cout << mx; }; f(); // } }; int main() { Nec{}.func(); } |
Nec
modern c++ öğeleri
Aşağıdaki kodda C++11 ve daha sonraki standartlar ile dile eklenmiş araçları ve standart kütüphane öğelerini belirtebilir misiniz?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
#include <chrono> #include <random> #include <algorithm> #include <vector> #include <iostream> const auto benchmark = [](auto f) { const auto time{ std::chrono::steady_clock::now() }; f(); return std::chrono::steady_clock::now() - time; }; int main() { std::default_random_engine eng{ std::random_device{}() }; std::uniform_int_distribution dist{ 0, 1'000'000 }; std::vector<int> ivec(100'000); std::generate_n(ivec.begin(), 100'000, [&] {return dist(eng); }); auto f = [&ivec]() {std::sort(ivec.begin(), ivec.end()); }; auto tp = benchmark(f); std::cout << std::chrono::duration_cast<std::chrono::seconds>(tp).count() << "\n"; } |
C++ çalışma sorusu – 60 (std::max, std::min)
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 |
#include <algorithm> #include <iostream> #include <string> int main() { std::string s1{ "AA" }; std::string s2{ "AA" }; const auto &smax{ std::max(s1, s2) }; const auto &smin{ std::min(s1, s2) }; s1 += "A"; s2 += "B"; std::cout << smax << smin; } |
Sorunun yanıtı şu seçeneklerden biri de olabilir: Sentaks hatası (derleme zamanı
C++ çalışma sorusu – 59 (function overloading)
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 |
#include <iostream> void func(char* &) { std::cout << 'A'; } void func(char* &&) { std::cout << 'B'; } int main() { char c{ 'c' }; func(&c); } |
Sorunun yanıtı şu seçeneklerden biri de olabilir: Sentaks hatası (derleme zamanı