Inheritance (Miras)

Sizlere bu yazıda inheritance’ın programlamada ne anlama geldiğinden bahsedeceğim. Inheritance genel olarak Oject Oriented Programming’in (Nesne Yönelimli Programlama) kullanılan bir prensiptir. En basit  şekliyle: inheritance sayesinde bir sınıfın metodlarını kullanan başka sınıflar türetilebilmesine yarar diyebiliriz. Ana sınıflara (‘base class’) yeni özellikler ekleyerek ya da gerekirse sahip olduğu özellikleri değiştirerek yeni altsınıflar (‘derived class’) oluşturma yoludur. Örneğin; bir otobüs ve kamyon adında sınıfınız varsa bunların ortak özelliklerinde oluşan bir araç sınıfı yazarız. Otobüs ve kamyon,  bu araç sınıfından türemiş olur. Yani hiyerarşik bir yapı söz konusudur.
Önce araç (vehicle class) sınıfını yazalım.

#include<iostream>
#include<string>
using namespace std;
class Vehicle
{
private:
	string name;
	string sound;
	int speed;
	int weight;
public:
	
	Vehicle(string n,string s,int sp,int w)
	{
		name=n;
		sound=s;
		speed=sp;
		weight=w;
	}
	void show()
	{
		cout<<"Name.:"<<name<<endl;
		cout<<"Sound.:"<<sound<<endl;
		cout<<"Speed.:"<<speed<<endl;
		cout<<"Weight.:"<<weight<<endl;
	}
	
	void makeSound(int n=1)
	{
		for(int i=0;i<n;i++)
		{
			cout<<sound<<" ";
		}
		cout<<endl;
	}
};

Şimde de onda türeyecek olan kamyon sınıfını yazalım. Devamı Inheritance (Miras)

Recursive Fonksiyonlar

Recursive fonksiyonlar herhangi bir döngü kullanmadan (for, do while, while..) kendisini çağırarak yazılan fonksiyonlardır.

Örneğin; faktoriyel hesaplayan bir fonksiyonu önce normal bir şekilde sonra recursive şekilde yazalim.


int faktoriyel(int n)
{
       int fakt=1;
       for(int i=1; i<=n; i++)
       {
            fakt=fakt*i;
       }
       return fakt;
}

Şimde de recursive şekilde yazalım.. Devamı Recursive Fonksiyonlar