Sdílet prostřednictvím


Definice funkcí jazyka C++

Definice funkce se liší od deklarace funkcí, že si poskytují funkce subjekty – kód, který tvoří funkce.Forma definici funkce je:

decl-specifiers declarator [cv-qualifers] [exception-specification]
{
   // function body
}
decl-specifiers declarator [cv-qualifers] =default;

decl-specifiers declarator [cv-qualifers] =delete;

Části definice jsou:

  • Specifikátory prohlášení, jak je popsáno v Deklarace funkcí.

  • Deklarátor, (popsáno níže v tomto článku).

  • Volitelný const nebo volatile kvalifikátor.V tomto kontextu const lze použít pouze pro členy třídy označuje, že funkce nezmění datové členy třídy.

  • Specifikace výjimky, která popisuje, jaké výjimky může vyvolat funkce.Další informace naleznete v tématu Specifikace výjimek.

  • Funkce – text, který se skládá z příkazů uzavřený do složených závorek {}.

  • =default;v případě definice explicitně-použita jako výchozí.

  • =delete;v případě odstraněné definice.

Formulář deklarátor je:

  • Volitelné ukazatel nebo odkaz na operátory, které upravují návratový typ.

  • Volitelné modifikátor specifické pro společnost Microsoft.Další informace naleznete v tématu Modifikátory specifické pro společnost Microsoft.

  • Název funkce.Pokud je funkce členem třídy nebo struktury, může být název kvalifikován pomocí operátoru oboru rozlišení.

  • Seznam argumentů prohlášení uzavřen do závorek ().

  • Pro konstruktory, volitelné konstruktor inicializátoru (popsáno níže v tomto článku).

Informace o formuláři deklarátor v takových případech naleznete v tématu komentáře v Deklarace funkcí o funkcích, které vracejí ukazatele funkce.

Formální argumenty deklarované v seznamu argumentů prohlášení jsou v oboru datové části funkce.

Následující obrázek ukazuje části definici funkce.Oblast šedou barvou, je tělo funkce.

Části definice funkce

Části definice funkce

Element inicializátoru konstruktoru syntaxe je použit pouze v konstruktorech.Jeho účelem je umožnit inicializaci základní třídy a obsažené objekty.Další informace o použití inicializátoru konstruktoru, naleznete v části Inicializace základů a členů.

Definici explicitně-použita jako výchozí lze deklarovat pouze pro speciální členské funkce.Při speciální členské funkce je explicitně použita jako výchozí, implementace definuje ji jako v případě, že by měl definici implicitní, s tím rozdílem, že to může být bez vložený (funkce implicitně deklarován speciální člen je vždy vložený).Další informace o výchozím nastavení funkcí, naleznete v části "Defaulted a odstraněných funkcí" v Podpora funkcí C++11 (moderní jazyk C++).

Odstraněné definici funkce také označována jako odstraněné, je implicitně vložený.Program, který odkazuje na odstraněný funkci explicitně nebo implicitně – jiné než Chcete-li jeho deklaraci – má chybný formát.Další informace o odstraněné funkcí, naleznete v části "Defaulted a odstraněných funkcí" v Podpora funkcí C++11 (moderní jazyk C++).

Viz také

Referenční dokumentace

Deklarátory

Koncepty

Vyhledávání názvu závislého na argumentu (Koenig) ve funkcích