Proje tasarımı
- C++ kursu
- Uzman
- Ders 43/47
- 6 dk
Uzman finali mini uygulamasının iskeletini tasarlarsın.
Proje: Uzman finali
Bu 5 derslik uzman finali projesinde tüm uzman konularını tek bir Engine sınıfında birleştireceğiz. Her ders bir parça ekler: önce template metaprogramming ile derleme zamanı faktöriyel, sonra std::thread ve std::atomic ile paralel toplam, ardından volatile ile bellek eşlemeli I/O taklidi ve sonunda extern "C" ile C-uyumlu arayüz.
Her dersin başlangıç kodu, önceki dersin çözümünü içerecek. Böylece proje aşama aşama büyüyecek ve son derste çalışan bir mini uygulama elde edeceğiz. Çıktı her dersle bir satır büyür.
Engine sınıfı iskeleti
Önce boş bir Engine sınıfı tanımlayalım. İçine bir static const int Version = 1; sabiti koyarız; bu, projenin sürümünü derleme zamanında taşır. Sonraki derslerde bu iskeletin üzerine yeni metotlar ekleyeceğiz.
Örnek: class Engine { public: static const int Version = 1; };. main içinde std::cout << "Hazır"; yazarak iskeletin çalıştığını doğrularız. Çıktı tek satırdır: Hazır. Sonraki derslerde her ekleme yeni bir satır getirecek.
Uygulama Engine sınıfı iskeletini tanımla
Engine adında bir sınıf tanımla. public: altında static const int Version = 1; olsun. main içinde std::cout << "Hazır"; yaz.
Başlangıç kodu
#include <iostream>
// Engine sınıfını buraya tanımla
int main() {
// Hazır mesajını yazdır
return 0;
}Örnek çözüm
#include <iostream>
class Engine {
public:
static const int Version = 1;
};
int main() {
std::cout << "Hazır";
return 0;
}Beklenen çıktı
Hazır
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Bu projede neden tek bir Engine sınıfı kullanıyoruz?
class Engine { public: static const int Version = 1; };- Bellek tüketimini sıfırlamak için
- Derleyiciyi hızlandırmak için
- Birden fazla konuyu tek çatı altında toplamak için Doğru cevap
- İşletim sistemini değiştirmek için
Açıklama: Tek sınıf, template, paralel iş, kayıt erişimi ve C arayüzünü bir arada tutar.
2 Sınıf adını tamamla
class ____ { public: static const int Version = 1; };
class Engine { public: static const int Version = 1; };
Açıklama: Sınıf adı PascalCase yazılır: Engine.
3 Parçayı rolüne eşle
| Kavram | Anlamı |
|---|---|
class Engine |
Sınıf iskeleti |
static const int Version |
Derleme zamanı sabiti |
std::cout |
Çıktı yazma |
"Hazır" |
İlk çıktı |