Genellikle bir C ++ yapısı için bir değişken tanımlayabiliriz.
struct foo {
int bar;
};
Bir yapı için fonksiyonlar da tanımlayabilir miyiz? Bu işlevleri nasıl kullanırız?
Yanıtlar:
Evet, a struct
, class
varsayılan erişim düzeyi (üye açısından ve miras açısından) dışında a ile aynıdır . (ve class
bir şablonla birlikte kullanıldığında ekstra anlam taşır)
Bir sınıf tarafından desteklenen her işlevsellik sonuç olarak bir yapı tarafından desteklenir. Yöntemleri, bir sınıf için kullandığınız gibi kullanırsınız.
struct foo {
int bar;
foo() : bar(3) {} //look, a constructor
int getBar()
{
return bar;
}
};
foo f;
int y = f.getBar(); // y is 3
Yapılar, sınıflar gibi işlevlere sahip olabilir. Tek fark, varsayılan olarak herkese açık olmalarıdır:
struct A {
void f() {}
};
Ek olarak, yapıların kurucuları ve yıkıcıları da olabilir.
struct A {
A() : x(5) {}
~A() {}
private: int x;
};