inheritance ile constructer,destructer kullanımı
23 Nisan 2010 – 22:50inheritance(kalıtım):bir classın diğer classın özelliklerini alıp ona bişeyler daha da ekleyip kullanmasıdır.
base class(ana class):içeriğini veren temek classtır.
derived class(türetilmiş class):base classın içini kullabilen türetilmiş classtır.
bir classı inherit etmişsek(kalıtım),costructer ve destructerları çalışıken bunların bi hiyerarşik sırası vardır,şimdi bununla ilgili örnek kodu inceleyelim:
HEADER FİLE
#pragma once class nokta//base class { public: nokta(int=0,int=0); ~nokta(void); protected://protected olsun ki derived classlardan da kullanılsın int x; int y; }; class daire:public nokta//derived class { public: daire(double r=0.0,int x=0,int y=0); ~daire(); private: double yaricp; }; |
İMLEMENTATİONLAR
#include "nokta.h" #include <iostream> using namespace std; nokta::nokta(int a,int b) { x=a; y=b; cout<<"nokta constructer:"<<'['<<x<<","<<y<<']'<<endl; } nokta::~nokta(void) { cout<<"nokta destructer"<<'['<<x<<","<<y<<']'<<endl; } daire::daire(double r,int a,int b):nokta(a,b) { yaricp=r; cout<<"daire constructer yaricap:"<<yaricp<<'['<<x<<","<<y<<']'<<endl; } daire::~daire(){ cout<<"daire destructer yaricap:"<<yaricp<<'['<<x<<","<<y<<']'<<endl; } |
MAİN KODU
//inheritance ile birlikte consructer ve destructer kullanma //önce base claasın constructerı çalışır //önce derived classın destructerı çalışır #include <iostream> #include "nokta.h" using namespace std; int main() { { nokta n(11,22);//noktanın constructerı çalışır }//destructor çalışabilsin diye blok koyuyoruz,noktanın destructorı çalışır cout<<endl; daire daire1(14.5,72,29);//noktanın constructerı,dairenin constructerı cout<<endl; daire daire2(10,5,5);//noktanın constructerı,dairenin constructerı cout<<endl; return 0; }//noktanın constructerı,dairenin constructerı,daire1 için //noktanın constructerı,dairenin constructerı,daire2 için |
DERYA GÜNDÜZ
ESKİŞEHİR OSMANGAZİ ÜNİV. BİLGİSAYAR MÜHENDİSLİĞİ 2. SINIF
deryagunduz.blogspot.com

