C++ This

Bu yazımda sizlere c++’ta this ‘i olabildiğince basit ve anlaşılır şekilde anlatacağım. Bir sınıftan birçok nesne oluşturabiliriz, ve oluşturduğumuz nesnelerin herbirinin kullanmak istediği değişkenlere ayrı birer adres verilir. Örnek olarak, diyelim ki elimizde Math sınıfı var.  Değişkenleri de m_x ve m_y olsun. Hemen bir parametreli constructor yazalım işi zorlaştırmayalım;

Math::Math(int x, int y)
:m_x(x), m_y(y)
{
//Constructor.
}

Aldığım parametreleri direkt değişkenlerime atıyorum.  Daha da uzatmadan neler olacak görmek için iki tane nesne tanımlayalım.

Math math(3,5);
Math math2(2,9);

Bu sınıfa print fonksiyonu yazıp değerleri yazdırdığınızda iki nesne içinde farklı değerler çıkacak.(math için 3 ve 5. math2 için 2 ve 9). Burada göstermek istediğim şey her nesne için aynı değişken adresi kullanılsaydı kullandığımız fonksiyonların durumuna göre işler karışacaktı. Bu yüzden aslında biz görmesekte bir şekilde nesnenin adresi parametreymiş gibi çağırdığımız fonksiyonlara aktarılır. Böylece her nesne için aslında farklı değişkenler oluşturulmuş olur.

c++ thisc++ this

Sınıfın herhangi bir fonksiyonunun içine this-> yazdığımızda o sınıftaki tüm değişken ve fonksiyonlara ulaşabildiğimizi görebilirsiniz.

c++ thisSon olarak this kullanarakta aynı değişkenlere ulaştığımızı gösteren bir örnek yapmak istiyorum. Print() fonksiyonumuz şu şekilde olsun;

void Math::Print()
{
cout << "(m_x, m_y) = " << m_x << ", " << m_y << endl;
cout << "(this->m_x, this->m_y) = " << this->m_x << ", " << this->m_y << endl;
}

Mainde de iki tane nesne tanımlayıp onları yazdıralım;

Math math(3,5);
math.Print();

Math math2(2,9);
math2.Print();

Ekran çıktımızda this kullanarakta aynı değişkenlere ulaşabildiğimizi göreceksiniz.

C++ this

Windows 8 ve Windows Phone ‘a Uygulama Geliştirmenin Kolaylığı

Microsoft’un en çok beğendiğim tarafı uygulama geliştirmek isteyenlere ve öğrencilere verdiği inanılmaz derecede yararlı kaynaklar. Üniversitelerde, çoğu üniversite C# dersi vermiyor, bu yüzden windowsa uygulama geliştirmek isteyenler öncelikle bu dili bir şekilde öğrenmesi gerekiyor. Ben de windowsa uygulama geliştirmek için okuldan bağımsız C# öğrenenlerden birisiyim. Peki nasıl öğrendim kaynakları nereden buldum? Hepsinin cevabını yazının sonunda öğrenmiş olacaksınız.

Dreamspark;

Microsoft’un öğrencilerin yazılım geliştirme süreçlerinde ihtiyaç duyduğu Microsoft yazılımlarını ücretsiz edinebildikleri bir platform. Buradan birçok Microsoft yazılımını indirip ücretsiz kullanabilirsiniz. Biz yazılımcılar için özellikle Visual Studio 2013 benim Dreamspark’ta ki favorim 🙂

Windowsa uygulama geliştirmek için olmazsa olmazımız başımızın tacı, Visual Studio’muzu buradan indirebilirsiniz.

dreamspark

Açık Akademi

Microsoft Türkiye’nin son dönemlerde en çok önem verdiği bir platform olan Açık Akademi’de sıfırdan başlayıp ileri dereceye kadar Microsoft ürünlerini öğrenmek isteyenler kolay bir şekilde temeli alıp ilerleyebiliyor. Ayrıca sanalsınıflarda da mvp’lerden ders alabiliyorsunuz, gayet eğlenceli geçiyor 🙂 Açık Akademi’nin sevdiğim özelliklerinden biri de arayüzünün çok kullanışlı olması. Yani siteye girdiğiniz zaman ne yapmanız gerektiğini hemen anlayabiliyorsunuz. Yapılan yarışmalarda da hediyeler kazanabilirsiniz.

http://www.acikakademi.com/

Buradan hangi alana yönelmek istiyorsanız o alanın içeriğini öğrenip uygulamanızı yazmaya başlayabilirsiniz. 🙂

acikakademi

Microsoft Virtual Academy

Microsoft Virtual Academy ingilizcesi olanlar için harika bir kaynak. Aslında Açık Akademinin global şekli de diyebiliriz. Fakat Virtual Academy ‘de (bana göre) anlatım çok daha açık ve ilerlemek daha kolay, çünkü herşey kodlar üzerinden anlatılıyor. İçerik olarak C#’tan HTML5’e Virtualization’dan Server Infrastructure’a kadar birçok konuda anlatım mevcut. Kurslar bölümünden istediğiniz kursun derslerini almaya başlayabilirsiniz, hem de ücretsiz. Virtual Academy’ de favorim C# kurslarını anlatan Bob Tabor, kendisi C# mvp si ve kendisine has güzel bir anlatım şekli var. Bakmanızı tavsiye ederim.

http://www.microsoftvirtualacademy.com

virtualacademy1

virtualacademy2

+13 KURS DAHA GÖRÜNTÜLE’ ye tıkladığınızda ileri düzey Windows 8 ve Windows Phone 8 kurslarını ve diğer kursları da göreceksiniz.

Windows 8 ve Windows Phone’a uygulama geliştirirken size SDK ‘lar lazım olacak.

Windows 8 SDK: http://msdn.microsoft.com/tr-tr/windows/desktop/hh852363.aspx

Windows Phone SDK: http://developer.windowsphone.com/en-us/downloadsdk

Son olarak faydalı bulduğum, Mertkan Elpeze’nin yazdığı bir yazıyı paylaşmak istiyorum. Uygulamanızı yazdıktan sonra markete yüklerken fail yememesi için okumanızda fayda var. : ( Uygulamayi Markete Göndermek – Yayınlamak )