19 Kasım 2020 Perşembe

Elaborated Type Specifier

Giriş
Açıklaması şöyle.
Elaborated type specifiers may be used to refer to a previously-declared class name (class, struct, or union) or to a previously-declared enum name even if the name was hidden by a non-type declaration. They may also be used to declare new class names.
Forward Declaration aslında  Elaborated Type Specifier kullanımının özel bir halinin ismidir. Sadece class ile ilgilenen 3. maddesine değinir. Elaborated Type Specifier enumeration ile de ilgilenir

enum
Örnek - elaborated type specifier for a enumeration type
Şöyle yaparız. Burada hem enum hem de metod A olarak isimlendirilmiş. Ve A metodu A enum'unu parametre olarak alıyor. Bu durumda metoda imzasında enum A olarak yazmak gerekiyor.
enum A { A_START = 0 };

void A (enum A a) {}

int main() {
  enum A a;
  A (a);
}

class
Bu kullanım aslında Forward Declaration ismiyle biliniyor. Ben de konuyu ayrı bir yazıya taşıdım. Ancak yine de basit bir örnek vermek iyi olur.

Örnek - class
Şöyle yaparız
class BOOT;
BOOT* boot(void);

Hiç yorum yok:

Yorum Gönder