Temel Fark: C ++, esas olarak nesnelere odaklanan nesne yönelimli bir dildir. C ++ 'da bir sınıf, tek bir yapıda kapsüllenen ilgili değişkenlerin ve fonksiyonların bir koleksiyonu olarak tanımlanabilir. Sınıfın örnekleri nesne olarak adlandırılır. C ++ 'daki bir yapı, kendi işlemlerine sahip, kullanıcı tanımlı bir veri tipi olarak adlandırılabilir. C dilin aksine, ikisi de C ++ 'da oldukça benzerdir. Aralarında var olan temel fark, erişim değiştiricisiyle ilgilidir; Bir sınıfın üyeleri varsayılan olarak özel, bir yapının üyeleri ise varsayılan olarak herkese açıktır.
C ++ 'daki bir sınıf, C dilinde kullanılan bir yapının sadece bir uzantısıdır. Kullanıcı tanımlı bir veri türüdür. Aslında verileri ve ilgili işlevleri tek bir ünitede birleştirir. C dilinde bir yapı ve bir sınıf, bir yapı bir sınıfa kıyasla sınırlı işlevselliğe ve özelliklere sahip olduğundan çok farklıdır. Öte yandan, C ++ 'da yapı ve sınıf oldukça benzerdir. Temel fark, varsayılan olarak, bir sınıfın tüm üyelerinin özel olması, bir varsayılan olarak tüm yapı üyelerinin genel olması nedeniyle ortaya çıkar.
C ++ 'da Sınıf ile Yapı Arasındaki Karşılaştırma:
Sınıf | yapı | |
Tanım | C ++ 'da bir sınıf, tek bir yapıda kapsüllenen ilgili değişkenlerin ve fonksiyonların bir koleksiyonu olarak tanımlanabilir. | Bir yapı, kendi işlemlerine sahip, kullanıcı tarafından tanımlanan bir veri tipi olarak adlandırılabilir. |
Beyanname için anahtar kelime | Sınıf | struct |
Varsayılan erişim belirteci | Özel | halka açık |
Örnek | sınıfım sınıf { özel: int veri; halka açık: Sınıfım (int veri_): Veri (data_) {} sanal boşluk foo () = 0; sanal ~ sınıf () {} }; | yapı sınıf { özel: int veri; halka açık: Sınıfım (int veri_): Veri (data_) {} sanal boşluk foo () = 0; sanal ~ sınıf () {} }; |
amaç | Veri soyutlama ve daha fazla kalıtım | Genellikle, verilerin gruplandırılması |
tip | Referans | değer |
kullanım | Genellikle büyük miktarda veri için kullanılır. | Genellikle daha az miktarda veri için kullanılır. |