C++ Class Örnekleri

1)card  dında kütüphane verilerini saklayan bir asınıf oluşturunuz. Bu class da kitap adı yazarı ve kaç adet kitap olduğunu tutan bilgiler olsun. kitap adı ve yaza katar olsun adet tamsayı. kitap bilglerini saklamak için store() adında bilgileri saklamak için show() adında birer public fonksiyonları kullanın. Sınıfı göstermek için de kısa bir main() fonksiyonu kullanın.
#include <iostream>
#include <cstring>
using namespace std;
class card{
    public:
        void store(char *t, char *name,int num);
        void show();
    private:
        char kitap_adi[80];
        char yazari[40];
        int adet;
};
void card::store(char *t, char *name, int num)
{
    strcpy(kitap_adi,t);
    strcpy(yazari,name);
    adet=num;
}
void card::show()
{
    cout<<"kitap adi:"<<kitap_adi<<endl;
    cout<<"yazari:"<<yazari<<endl;
    cout<<"eldeki sayi:"<<adet<<endl;
}
int main()
{
    card book1,book2,book3;
    book1.store("ucurtma avcisi","michel",3);
    book2.store("son veda","aylin",2);
    book3.store("gitme","nihal",4);


    book1.show();
    book2.show();
    book3.show();
    return 0;
}
2)Klavyeden girilen iki sayıdan taban ve üs ile üs aldırma işlemi
#include <iostream>


using namespace std;
int main()
{
    int sayi1,sayi2;
     int sonuc=1;
    cout<<"tabani giriniz:";
    cin>>sayi1;
    cout<<"ussu giriniz:";
    cin>>sayi2;
    for(int i=1;i<=sayi2;i++)
    {
       sonuc=sonuc*sayi1;
    }
    cout<<"sonuc:"<<sonuc;
    return 0;
}
3)girilen degerin karkater saıyısını bulma




#include <iostream>
#include<cstring>
using namespace std;
int main()
{
    char ad[20];
    cout<<"isminizi girin:";
    cin>>ad;
    cout<<" karakter uzunluk:"<<strlen(ad);
    return 0;
}
4)Üstteki örenek üzerine isim ve adresi de yazdıran program
#include <iostream>
#include<cstring>
using namespace std;
class bilgiler{
    public:
        void sakla(char *a,char *res);
        void goster();
    private:
        char ad[20];
        char adres[20];
};
void bilgiler::sakla(char *a,char *res)
{
    strcpy(ad,a);
    strcpy(adres,res);
}
void bilgiler::goster()
{
    cout<<"adiniz: "<<ad<<endl;
    cout<<"adres:"<<adres;
}
int main()
{
    char ad[20];
    cout<<"isminizi girin:";
    cin>>ad;
    cout<<" karakter uzunluk:"<<strlen(ad)<<endl;

    bilgiler kisi1;
    kisi1.sakla(ad,"demir aslan yurdu");
    kisi1.goster();
    cout<<"\n\n";
    return 0;
}
5)Constructer / Destructer ilk örnek


#include <iostream>
using namespace std;
class myclass{
    public:
        myclass();//constructer
        ~myclass();//destructer
        void show();
    private:
    int a;
};
myclass::myclass()
{
    cout<<"constructor'da\n";
    a=10;
}
myclass::~myclass()
{
    cout<<"yok ediliyor...\n";
}
void myclass::show()
{
    cout<<a<<endl;
}


int main()
{
    myclass ob;
    ob.show();
    return 0;
}
6)Bu örnek,constrtructer ve destructer fonksiyonlarına neden ihtiyaç duayabileceğimizi gösteriyor. Burada strtype adında, bir katar ve bu katarın uzunluğunu içeren basit bir katar sınıfı oluşturuyoruz. strtype sınıfnda bir nesne oluşturduğunda, bellekte katar ve onun uzunluğu için yer ayrılır. Katatrın uzunluğuna ilk deger olark sıfır atanıyor. strtype sınıfındaki nesne yok edildiğinde bellekteki bu yer serbest bırakılır.


#include <iostream>
#include <cstring>
#include <cstdlib>
using namespace std;
#define SIZE 255
class strtype{
    public:
        strtype();
        ~strtype();
        void set(char *ptr);
        void show();
    private:
        char *p;
        int len;
};
strtype::strtype()
{
    p=(char*)malloc(SIZE);
    if(!p)
    {
        cout<<"bellekte yer ayırma hatası\n";
        exit(1);
    }
    *p='\0';
    len=0;
}
strtype::~strtype()
{
    cout<<"p serbest bırakılıyor";
    free(p);
}
void strtype::set(char *ptr)
{
    if(strlen(p)>=SIZE)
    {
        cout<<"katar fazla buyuk\n";
        return;
    }
    strcpy(p,ptr);
    len=strlen(p);
}
void strtype::show()
{
    cout<<p<<"nin uzunlugu "<<len;
    cout<<"\n";
}
int main()
{
    strtype s1,s2;
    s1.set("bu bir deneme.");
    s2.set("C++ 'i seviyorum");
    s1.show();
    s2.show();
    return 0;
}
7)Timer tipinde bir nesne tanımlıyoruz sonra da nesnenin oluşma be bitme arasında gecen süreyi bulduruyoruz.


#include <iostream>
#include <ctime>
using namespace std;
class timer{
    public:
        timer();
        ~timer();
    private:
        clock_t start;
};
timer::timer()
{
    start=clock();
}
timer::~timer()
{
    clock_t end;
    end=clock();
    cout<<"gecen zaman: "<< (end-start)/CLOCKS_PER_SEC<<" saniye \n";
}
int main()
{
    timer ob;
    char c;
    cout << "bir tusa sonrada entere basın:" << endl;
    cin>>c;
    return 0;
}
8)class yardımıyla karakter eklemek ve silmek

#include <iostream>
using namespace std;
class katar{
    public:
        katar();
        int getYer();
        void setYer(int x);
        void harfEkle(char c);
        void harfCikar();
        void yaz();
    private:
        char depo[20];
        short int yer;
};
katar::katar()
{
    cout<<"depo temizle\n";
    for(int i=0;i<20;i++)
        {depo[i]='_';}
    depo[19]=NULL;
    yer=0;
}
void katar::setYer(int x)
{
    if(yer>=0 && yer<20)
       {
          yer=x;
       }
    else cout<<"sinir tasmasi";
}
int katar::getYer()
{
    return yer;
}
void katar::harfEkle(char c)
{
    depo[yer]=c;
    setYer(yer+1);
}
void katar::harfCikar()
{
    setYer(yer-1);
    depo[yer]=' ';
}
void katar::yaz()
{
    cout<<depo<<endl;
}

int main()
{
    katar kutur;
    kutur.harfEkle('Y');
    kutur.harfEkle('E');
    kutur.harfEkle('S');
    kutur.harfEkle('i');
    kutur.harfEkle('M');
    kutur.yaz();
    kutur.setYer(11);
    kutur.harfEkle('c');
    kutur.yaz();
    kutur.harfCikar();
    kutur.harfCikar();
    kutur.yaz();
    return 0;
}

9)

Hiç yorum yok:

Diğer Blog Hesaplarım

Merhaba, İçerik Yönetim Sistemleri dersinde aktif olarak kullandığım bloglarım şunlardır: https://sistemanalizitasarimi.wordpress.com/ https...