String yardımcıları
- C++ kursu
- Orta seviye
- Ders 20/116
- 6 dk
String işleme fonksiyonlarını ekler ve test edersin.
String yardımcıları
Bu derste Helpers sınıfına ilk yardımcı metodu ekleyeceğiz: capitalize. Bu metod bir dizenin ilk harfini büyük yapar. C++'ta std::toupper fonksiyonu tek bir karakteri büyütür.
Örnek: static std::string capitalize(std::string text) { if (text.empty()) return text; text[0] = std::toupper(text[0]); return text; }. Burada text.empty() ile boş dize kontrolü yapılır; text[0] ilk karaktere erişir. Çağrı: Helpers::capitalize("merhaba") sonucu "Merhaba" olur. Önceki dersin iskeletini alıp bu metodu ekleyeceğiz.
Metodu çağırma
Statik bir metot, sınıf adı ve iki iki nokta (::) ile çağrılır. Örnek oluşturmaya gerek yoktur: Helpers::capitalize("merhaba"). Dönen değeri std::cout ile yazdırabilirsin.
Çıktıyı ayrı satırlarda görmek için std::endl kullanırsın: std::cout << Helpers::capitalize("merhaba") << std::endl;. Bu, ekrana Merhaba yazdırıp alt satıra geçer. Önceki dersin "Hazır" çıktısının ardından yeni satırda Merhaba görünür. Böylece iki dersin çıktısı birikerek büyür.
Uygulama capitalize metodunu ekle ve çağır
Önceki dersin Helpers iskeletini al. public: altına static std::string capitalize(std::string text) metodunu ekle: gövdesi if (text.empty()) return text; text[0] = std::toupper(text[0]); return text;. main içinde std::cout << "Hazır" << std::endl; satırından sonra std::cout << Helpers::capitalize("merhaba"); ekle.
Başlangıç kodu
#include <iostream>
#include <string>
class Helpers {
};
int main() {
std::cout << "Hazır";
// Capitalize metodunu ekle ve çağır
return 0;
}Örnek çözüm
#include <iostream>
#include <string>
#include <cctype>
class Helpers {
public:
static std::string capitalize(std::string text) {
if (text.empty()) return text;
text[0] = std::toupper(text[0]);
return text;
}
};
int main() {
std::cout << "Hazır" << std::endl;
std::cout << Helpers::capitalize("merhaba");
return 0;
}Beklenen çıktı
Hazır Merhaba
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 capitalize("merhaba") ne döndürür?
Helpers::capitalize("merhaba")- "MERHABA"
- "Merhaba" Doğru cevap
- "merhaba"
- "mERHABA"
Açıklama: Yalnızca ilk harf büyütülür: Merhaba.
2 İlk harfi büyüt
text[0] = std::____(text[0]);
text[0] = std::toupper(text[0]);
Açıklama: std::toupper tek karakteri büyütür.
3 Parçayı rolüne eşle
| Kavram | Anlamı |
|---|---|
static |
Örneksiz çağrı sağlar |
std::toupper |
Karakteri büyütür |
text.empty() |
Boş dize kontrolü |
Helpers::capitalize |
Metot çağrısı |