C ile OOP ( Object Oriented Programming ) nasıl yapılır?

Başlatan gerbay, 13 Ekim 2016, 18:06:47

Klein

Alıntı yapılan: baran123 - 13 Ekim 2016, 23:33:36
Hocam biraz bişler yapsak takla falan attırsak modifiye etsek de benim dediğim gibi olmaz mı ? :(

typedef struct
{
        uint16_t x;
	uint16_t (*Function)(int,int);
}TObjType;

TObjType Obj; 

uint16_t topla(uint16_t a, uint16_t b)
{
      return(a+b);
}
uint16_t carp(uint16_t a, uint16_t b)
{
return(a*b);
}

int main(void)
{
uint16_t toplam, carpim;
     Obj.Function = topla;

    toplam = topla(3,5);
 
    Obj.Function = carp;

   carpim = Obj.Function(12,8);
}


Bu şekilde yapılabilir.  Ama konu C++ olduğu için, C++ bunu daha kolay bir şekilde üye fonksiyon olarak yapar. Tabi kalıtım ve polimorfizim gibi avantajları ile birlikte.

muhittin_kaplan

@gerbay hocam z ile asm konusuna yazdığınız kadar, yada karanlık ay yüzeyi benzeri konulara yazdığınız kadar yazsanız, iki günde üç günde bir konuya eklemeler yapsanız bizde "sizin önereceğiniz derleyici/ide" ile bunları gerçekleştirsek. aslında ne güzel olur. dikili bir ağacınız  olur hocam.

deitel in kitabından  gidebiliriz. (ben xamarin konusunu Yiğit Özaksüt ün videolarından adım adım gidiyorum, video çekip koyuyorum hocam.)

isterseniz olur.

muhittin_kaplan


yldzelektronik

Alıntı yapılan: gerbay - 14 Ekim 2016, 10:42:00
hocam zaman zaman konuyu açmaya çalıştık. ama tepkiler başka yöne kaydırdı. konu devam etmedi. aslında şu an yazdığınız bu konu bile bununla ilgili ama farkındalık yok. siz bile farkında değilsiniz.

insan da verdiği emeğin boşa gitmesini istemiyor. bakın mesela bu konuda verdiğim PDF de anlatılan şey tamamen C++ derleyicisinin arka planda ne yaptığını anlatıyor.

ben insanlar bunu anlayabiliyor mu onu bile bilmiyorum ki benim şahsem gördüğüm kadarıyla bir tek @Klein hocam bu konulara aşina ve biliyor.

şimdi baktım bu konu 506 kez gösterilmiş şu ana kadar. hadi 250 kişinin PDF i açıp göz attığını bundan da 120 kişinin bir şeyler anladığı kabulunu yapalım.

bakın o PDF de C ce anlatılıyor, yani bodoslama arka planda ne olduğu anlatılmadan C++ ile dalmamış olaya..

konuya baktığınız zaman geri dönüş yok. bu forumda C ile o kadar kod yazan adam var ama buradaki mevzuyu ne kdar kişi anlamış?

herkes anlamış demekki çünkü kimse tartışmıyor.

hoca ders anlatır da sınıfın gözlerine bakar ya; sınıf ta tepki yok, hatta hoca ile göz göze gelmemek için gözlerini kaçırırlar. şu an konu böyle hocam..

bu konudaki anlatılan şey C bilenleri C++ a geçirebilmek için en temel şey aslında..   ama tepki yok.. farkındalık yok..  hatta siz bile konuya aslında girdiğimizin farkında değilsiniz..

Abi aslında hayır.Kendi adıma mevzu öyle değil. Şuan iş yerindeyim ve başka bir konuyla ilgilenmem gerekiyor.Ancak kaçamak yapabildiğim ölçüde bakıyorum/bakmaya çalışıyorum. Cloud a attım. ("Kafayı yedir"tse de) cloud tan çekip okuyacağım.Ya metroda ya öğle arasında.Bir şekilde.
Kişinin başına gelen hayır Allah'tandır. Kişinin başına gelen şer nefsindendir. Nefislerimizle kendimize zulüm ediyoruz.

skara1214

Alıntı yapılan: gerbay - 14 Ekim 2016, 10:42:00
hoca ders anlatır da sınıfın gözlerine bakar ya; sınıf ta tepki yok, hatta hoca ile göz göze gelmemek için gözlerini kaçırırlar. şu an konu böyle hocam..
bu konudaki anlatılan şey C bilenleri C++ a geçirebilmek için en temel şey aslında..   ama tepki yok.. farkındalık yok..  hatta siz bile konuya aslında girdiğimizin farkında değilsiniz..
hocam genel olarak böyle paylaşımlar böyle sonuçlar doğuruyor haklılık payınızın olduğunuda düşünmüyorum zira;
-sizin istediğiniz yüksek lisans doktorada yapılan makale tartışma toplantısı havasında olsun ama böyle birşey mümkün değil .İlkönce temelden c nin belli seylerini anlatırsınız(anlatmak zorunda değilsiniz sadece şahsi görüşüm) insanların ilgisini toplarsınız. daha sonra yavaştan seviyeyi yükseltirsiniz insanlarda sizi takip etmeye başlar. Ama bu şekilde yaptığınız şeyin örneğini vereyim; İlkokulda öğretmen sınıfa girer;
-Arkadaşlar okumak çok güzel birşey herkes okusun okumayıda su kitaptan öğrenin. Bu şekilde nasıl olacak?
Bu sizin mantığınızla üniversiteye gerek yok hocayada gerek yok nasıl olsa kitaplar var demekki birilerininde kitaptakileri insanlara anlatmasına ihtiyaç var. Sakın ha söylemlerimi bunları yapmak zorundasın diye algılamayın sadece daha efektif olması için bu şekilde daha mantıklı gibi.
oysaki z gibi baştan sona arm yi anlatsanız mükembel olur. Yukarıda zamanım yok demişsiniz haklısınız zaten bu bahsedilen 1 ayda olması önemli değil 1 sene sürsün ama ayrıntılı olsun herkes nasiplensin.
Sizin gibi bir paylaşımda ben yapayım;
Arkadaşlar RTOS çok güzel birşey kesin kullanın ;
http://www.freertos.org/about-RTOS.html
buradan okuyun rtos kullanmaya başlayın...

Herkes ölür ama herkes gerçekten yaşamaz

X-Fi

@gerbay hocam sayfa 8 deki sanal fonksiyonlar konusunda vtbl hem static hemde const oalrak tanımlanmış bunun sebebini anlamadım,

ROM da olacak ve tüm sanal fonksiyonlarda tek fiziksel adresten işlem görecek gibi bişeymi?
http://www.coskunergan.dev/    (Yürümekle varılmaz, lakin varanlar yürüyenlerdir.)

baran123

@gerbay hocam anladım şimdi çok teşekkür ederim.
@Klein hoca örnek için teşekkürler.

C++ ile programlanan bir MCU var mı ?
Arduinoyu bu amaç için kullanmayı planlıyorum aslında.

Cemre.

http://www.state-machine.com/qpc/blinky.html

Hocam ben bu state machine tabirine hiç aşina değilim. Misal aşağıdaki linkte çokça geçiyor. Blinky example'ına baktığımda gözüm korktu açıkçası.
Bir de ultra simple diye üstüne basa basa söylemişler, daha da korktum. Şimdi aşağıdakinden daha mı simple?

BSF PORTB,0
BCF PORTB,0

Hocam öğrenmek istiyorum. Yazılım konusunda eğitim almadım, aldığım eğitimler syntax üzerineydi ve tabi ki bunların 1000'de 1'ini gösteren, bak bi de böyle birşey varmış diyen olmadı. İhtiyaç da duymamıştım açıkçası ama kod okunurluğu, portabilite, düzen diyince durup bir ben de bunu arıyorum diyorum. Ne yapmak gerek? @CoDeR

mesaj birleştirme:: 19 Ekim 2016, 01:05:41

http://www.st.com/content/ccc/resource/technical/document/user_manual/6b/fd/49/38/73/a2/4a/9c/DM00072014.pdf/files/DM00072014.pdf/jcr:content/translations/en.DM00072014.pdf

Cemre.

Hocam ben de bsf bcf'yi 16f84a ile okulda öğrendim. Öyle asm bildiğimden değil.

Hocam UML nasıl öğrenilir. Nereden öğrenilir? Mümkünse abc sini anlatan bir kaynak önerisi istiyorum.

RaMu

@gerbay hocam açtığın konu ilgi yetmezliğinden ölecekse
asm ye sataşayım, bir umut mu diyorsun.
Anlat hocam bize C ve ötesini anlat, dinliyoruz,
birini övmek için diğerini yermeye gerek yok.

Bu arada hocam o karikatürleri nereden buldun,
asansörü bilmesem hani.

Şimdi bilmediğim bir şeyi sorma ve öğrenme zamanı:
Her görenin anlayacağı dilde akış diyagramı yazmaya UML mi deniyor @CoDeR hocam?
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

foseydon

C ile OOP yapamazsınız. C programlama dili nesne yönelimli tasarlanmamıştır, prosedüreldir, nesnelerin arasındaki ilişkiler ile değil belli bir sıraya göre işlem yapar. biraz uğraşıp, şeklen oop diline benzetirsiniz, o da encapsulation falan yaparsınız ama inheritance yapamazsınız. şeklen benzetseniz bile, önemli olan derleyicidir, o da makine koduna çevirirken yine prosedür mantığı ile çevirir.

Bunlarla uğraşıp zaman kaybetmeyin boşuna, buna vereceğiniz zamanı c++ öğrenmeye verin. öğrenmeye verin diyorum, çünkü c++ bilen adam bunun olmayacağını zaten bilir.