Bu sorunun diğer bir şekli de "Struck ile Class arasındaki fark nedir?" olabilir.
Struct ; mantıksal olarak birbiriyle ilişkili ama tür olarak birbirinden faklı verileri bir araya toplayan bir veri türüdür. Mesela bir personel için ad-soyad (char-string), yaş (int) ve kilo (float) bilgilerini bir struct türünden değişken içinde tutabilir, bu verilere tek bir değişken üzerinden erişebiliriz. Bu metod programcılara pek çok kolaylık sağlamaktadır.
Class veri türünde ise, Struct gibi farklı veri türlerini barındırmanın yanı sıra, bu veriler üzerinden metodlar tanımlayarak, verilere değer vermek, değiştirmek, yayınlamak, yazdırmak, hesaplamak vs... gibi işlemlerin de aynı class üzerinde tanımlanmasını mümkül kılmaktadır. Mesela tanımladığımız bir üçgen sınıfında 3 koordinatı verilen bir üçgenin alanını, çevresini hesaplayan metodlar yazabilir, hatta bu değerleri ekrana yazdıran, yazıcıya çıktı veren vs... gibi işlemleri de üçgen sınıfında tanımlayabiliriz.
Böylece hem mantıksal olarak birbiriyle alakalı farklı veri türleri tek bir veri türü içerisinde toplamış, hem de bu verilerle alakalı işlemleri de yine aynı veri türüyle tanımlamış oluruz. Bu sınıfı derleyip başka bir programcıya verdiğimizde, o programcı veri türlerini bilmese bile o verilerle işlem yapabilir hale gelmiş olur, yani kodlarımız "taşınabilir" olur.
C dilinde struct veri tipi vardır. class yoktur.
C++ ile class - sınıf veri tipi programcılığa kazandırılmıştır.
bu durum c dilinin pabucunu dama atmamıştır. bugün c dili halen programcıların vazgeçemediği bir dildir. günümüzde birçok mikroişlemci uygulaması c dili ile yazılıyor.
C dilini iyi bilen programcı bütün programlama dillerini anlar, kod yazar.