Definicje funkcji języka C++
Definicje funkcji różnią się od deklaracji funkcji, w tym dostarczają funkcji jednostki — kod, który stanowi funkcji.Formularz definicji funkcji jest:
decl-specifiers declarator [cv-qualifers] [exception-specification]
{
// function body
}
decl-specifiers declarator [cv-qualifers] =default;
decl-specifiers declarator [cv-qualifers] =delete;
Części definicji są:
Specyfikatory deklaracji, zgodnie z opisem w Deklaracje funkcji.
Declarator (opisane w tym artykule).
Opcjonalny const lub volatile kwalifikator.W tym kontekście const można używać tylko dla członków klasy, aby wskazać, że funkcja nie spowoduje jej modyfikacji elementów członkowskich danych klasy.
Specyfikacji wyjątek, która opisuje jakie wyjątki funkcja może zgłaszać.Zobacz Specyfikacje wyjątków.
Treści funkcji, składający się z instrukcji ujęte w nawiasy klamrowe {}.
=default;w przypadku definicji jawnie konfigurowanych domyślnie.
=delete;w przypadku definicji usunięty.
Formularz declarator jest:
Opcjonalny wskaźnik lub operatorów odwołania, które modyfikować typ zwrotny.
Opcjonalne modyfikator specyficzne dla firmy Microsoft.Zobacz Modyfikatory specyficzne dla firmy Microsoft.
Nazwa funkcji.Jeśli funkcja jest członkiem klasy lub struktury, nazwa może kwalifikowana za pomocą operatora zakresu rozwiązania.
Lista deklaracji argumentów w nawiasach ().
Dla konstruktory i inicjatory konstruktora opcjonalne (opisane w tym artykule).
Informacji o formularzu declarator w takich przypadkach, zobacz uwagi na Deklaracje funkcji o funkcje, które zwracają wskaźników funkcji.
Argumenty formalne zadeklarowane na liście deklaracji argumentów znajdują się w zakresie treści funkcji.
Poniższa ilustracja pokazuje części definicji funkcji.W obszarze przyciemnione ma treści funkcji.
Części definicji funkcji
Konstruktor elementu inicjatora składni jest używana tylko wtedy, gdy konstruktorów.Jej celem jest umożliwienie inicjowania klasy podstawowej i zawartych w nim obiektów.Aby uzyskać więcej informacji dotyczących używania inicjatora konstruktora, zobacz Inicjowanie baz i elementów członkowskich.
Definicja jawnie konfigurowanych domyślnie można zadeklarować tylko dla funkcji specjalnych elementu członkowskiego.Jawnie jest ustawiana domyślnie funkcja specjalny element członkowski, implementację definiuje ją tak, jakby był definicję niejawne, z tą różnicą, że może to być bez tekście (funkcję niejawnie zadeklarowany specjalny element członkowski jest zawsze tekście).Aby uzyskać więcej informacji na temat domyślnym funkcji, zobacz sekcję "Defaulted i usunięte funkcje" w Obsługa dla funkcji C++11 (Modern C++).
Definicję usunięty, nazywany również usunięte funkcji jest niejawnie tekście.Program, który odwołuje się do usuniętego funkcji jawnie lub niejawnie — inne niż można zadeklarować go — jest źle sformułowane.Aby uzyskać więcej informacji o funkcjach usunięty, zobacz sekcję "Defaulted i usunięte funkcje" w Obsługa dla funkcji C++11 (Modern C++).