C++ dilinde sınıflar, nesne yönelimli programlamayı (OOP) destekleyen temel bir yapıdır. Sınıflar, veri üyeleri (attributes) ve bu veri üzerinde işlemler gerçekleştiren fonksiyonları (metodlar) bir araya getirerek bir veri tipi tanımlamanızı sağlar.
Basit bir C++ sınıfı örneği:
#include <iostream> #include <string> // Bir sınıf tanımlama class Ogrenci { public: // Erişim belirleyiciler: public, private, protected // Veri üyeleri std::string ad; std::string soyad; int yas; // Constructor (Yapıcı metod) Ogrenci(std::string a, std::string s, int y) : ad(a), soyad(s), yas(y) { // Constructor, sınıf bir nesne oluşturulduğunda otomatik olarak çağrılır std::cout << "Ogrenci objesi olusturuldu." << std::endl; } // Member function (Üye fonksiyon) void bilgileriGoster() { std::cout << "Ad: " << ad << ", Soyad: " << soyad << ", Yas: " << yas << std::endl; } }; int main() { // Sınıf nesnesi oluşturma Ogrenci ogrenci1("Ahmet", "Yilmaz", 20); // Sınıf üye fonksiyonunu çağırma ogrenci1.bilgileriGoster(); return 0; }
Bu örnekte Ogrenci
adlı bir sınıf tanımlanmıştır. Sınıfın veri üyeleri (ad
, soyad
, yas
) public olarak belirlenmiştir, bu nedenle bu üyelere sınıf dışından erişilebilir. Ayrıca, bir constructor (yapıcı metod) tanımlanmıştır, bu metod sınıf bir nesne oluşturulduğunda otomatik olarak çağrılır.
Programın main
fonksiyonunda, Ogrenci
sınıfından bir nesne oluşturulur ve sınıfın üye fonksiyonu çağrılarak bilgileri ekrana yazdırılır.
Bu sadece temel bir örnektir ve C++ sınıflarının daha karmaşık konseptlerini öğrenmek için daha fazla inceleme yapmanız gerekebilir. Örneğin, özel erişim belirleyicileri (private, protected), destructor (yıkıcı metod), statik üyeler, friend fonksiyonlar ve daha pek çok konu C++ sınıflarıyla ilgili derinleşebileceğiniz konulardan bazılarıdır.
Dairenin alanını ve çevresini hesaplayan C++ sınıfı
Aşağıda, C++ dilinde bir dairenin alanını ve çevresini hesaplayan bir sınıf örneği bulunmaktadır. Bu örnekte, sınıfın veri üyeleri olarak dairenin yarı çapı (yaricap
) kullanılmıştır. Sınıfın üye fonksiyonları (AlanHesapla
ve CevreHesapla
), dairenin alanını ve çevresini hesaplamak için kullanılmaktadır.
#include <iostream> class Daire { private: double yaricap; public: // Constructor Daire(double r) : yaricap(r) {} // Alanı hesaplayan üye fonksiyon double AlanHesapla() { return 3.14 * yaricap * yaricap; } // Çevreyi hesaplayan üye fonksiyon double CevreHesapla() { return 2 * 3.14 * yaricap; } }; int main() { // Daire sınıfından bir nesne oluşturma Daire daire1(5.0); // Alanı ve çevreyi hesaplayarak ekrana yazdırma std::cout << "Dairenin Alani: " << daire1.AlanHesapla() << std::endl; std::cout << "Dairenin Cevresi: " << daire1.CevreHesapla() << std::endl; return 0; }
Bu örnekte, Daire
adlı sınıf, yaricap
adlı bir özel (private) veri üyesine sahiptir. Constructor, yaricap
‘ı başlatmak için kullanılır. Sınıfın üye fonksiyonları olan AlanHesapla
ve CevreHesapla
, dairenin alanını ve çevresini hesaplamak için yaricap
‘ı kullanır.
Programın main
fonksiyonunda, Daire
sınıfından bir nesne oluşturulur ve bu nesnenin AlanHesapla
ve CevreHesapla
fonksiyonları çağrılarak sonuçlar ekrana yazdırılır.