# 3.3 Sınıf Methodları

C++'da sınıf metotları, bir sınıfın nesneleri ile ilişkili işlevlerdir. Bu metotlar, sınıfın özelliklerine erişim sağlar ve nesne üzerinde çeşitli işlemler gerçekleştirmek için kullanılır. Sınıf metotları, `public`, `private` veya `protected` erişim belirleyicileri ile tanımlanabilir. Bu, metotların görünürlüğünü ve erişim düzeyini kontrol eder.

**Sınıf Metotlarının Tanımı**

Bir sınıf metodu, sınıfın içindeki verilerle çalışmak için tanımlanır. Aşağıda basit bir sınıf ve bu sınıfın bir metodunu gösteren bir örnek bulunmaktadır:

```cpp
#include <iostream>
#include <string>

class Kisi {
private:
    std::string isim; // Özellik

public:
    // Constructor (Yapıcı Metot)
    Kisi(std::string i) : isim(i) {}

    // Metot
    void bilgiGoster() {
        std::cout << "İsim: " << isim << std::endl;
    }
};
```

**Metot Çağrısı**

Sınıfın metotlarını çağırmak için öncelikle bir nesne oluşturmanız gerekir. Aşağıdaki örnekte, `Kisi` sınıfından bir nesne oluşturulmuş ve `bilgiGoster()` metodu çağrılmıştır:

```cpp
int main() {
    Kisi kisi1("Ahmet");
    kisi1.bilgiGoster(); // Çıktı: İsim: Ahmet

    return 0;
}
```

**Parametreli Metotlar**

Sınıf metotları, parametre alabilir. Bu, metotların daha dinamik bir şekilde çalışmasını sağlar. Aşağıdaki örnekte `Kisi`sınıfına `isimDegistir` metodu eklenmiştir:

```cpp
void isimDegistir(std::string yeniIsim) {
    isim = yeniIsim; // Özelliği günceller
}
```

Bu metot, bir kişinin ismini değiştirmek için kullanılır. Aşağıdaki şekilde çağrılabilir:

```cpp
int main() {
    Kisi kisi1("Ahmet");
    kisi1.bilgiGoster(); // Çıktı: İsim: Ahmet

    kisi1.isimDegistir("Mehmet"); // İsmi değiştir
    kisi1.bilgiGoster(); // Çıktı: İsim: Mehmet

    return 0;
}
```

**Statik Metotlar**

Statik metotlar, sınıfın herhangi bir nesnesine ihtiyaç duymadan çağrılabilen metotlardır. Statik metotlar, genellikle sınıfın genel işlevselliği için kullanılır. Aşağıda statik bir metot örneği verilmiştir:

```cpp
class Matematik {
public:
    static int topla(int a, int b) {
        return a + b;
    }
};
```

Bu metot, sınıfın bir nesnesi olmadan çağrılabilir:

```cpp
int main() {
    int sonuc = Matematik::topla(5, 10); // Statik metot çağrısı
    std::cout << "Sonuç: " << sonuc << std::endl; // Çıktı: Sonuç: 15

    return 0;
}
```

**Sonuç**

C++'da sınıf metotları, nesne yönelimli programlamanın temel bir parçasıdır. Bu metotlar, sınıfın içindeki verilere erişmek ve bu veriler üzerinde işlemler yapmak için kullanılır. Sınıf metotları ile programlarınızı daha düzenli ve anlaşılır bir şekilde tasarlayabilirsiniz.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.yavuzlar.org/egitim/c-plus-plus/3.0-siniflar/3.3-sinif-methodlari.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
