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
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
Koncepty
Vyhledávání názvu závislého na argumentu (Koenig) ve funkcích