Sınıflar, veriler (nitelikler) ile kodların (davranışlar) anlamlı bir şekilde bir araya gelmesiyle oluşur. Nesnelerin nasıl inşa edileceklerini tanımlarlar. Genellikle başlık (header) dosyalarında tanımlanırlar. Böylelikle sınıf kodları diğer kodlardan ayrılmış olur.
Örneğin; A isimli bir kediniz olduğunu varsayın. A, kedi sınıfının bir örneğidir. (instance)
Örnekte olduğu gibi, sınıflar ile örnekleri arasında bire çok ilişki oluşur.