Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> C Taal

C++ constructors: default, parameterized en copy constructors uitgelegd

C++ Constructors Begrijpen

Deze tutorial duikt in C++ constructors – wat ze zijn, waarom ze ertoe doen, en hoe je default, parameterized en copy constructors implementeert met duidelijke voorbeelden.

Een constructor is een speciale member functie die automatisch draait wanneer een object geïnstantieerd wordt. In C++ deelt de constructor zijn naam met de klasse en specificeert geen return type.

class Wall { public: // Constructor Wall() { // initialization code } };

De constructor moet:

  • Deze naam hebben als de klasse.
  • Geen return type declareren.
  • Toegankelijk zijn (typisch public).

Default Constructor

Een constructor zonder parameters heet een default constructor. Het Wall() voorbeeld hierboven is er eentje.


Voorbeeld 1: Default Constructor

// Een default constructor demonstreren #include <iostream> using namespace std; class Wall { private: double length; public: // Default constructor Wall() { length = 5.5; cout << "Creating a wall." << endl; cout << "Length = " << length << endl; } }; int main() { Wall wall1; return 0; }

Output

Creating a Wall Length = 5.5

Wanneer wall1 geïnstantieerd wordt, stelt de default constructor length in op 5.5 en print de boodschappen.

Let op: Als een klasse geen expliciete constructor heeft, genereert de compiler automatisch een default constructor die niets doet.


Parameterized Constructor

Parameterized constructors ontvangen argumenten om member data bij objectcreatie te initialiseren. Ze zijn de voorkeursmanier om de staat van een object in te stellen.


Voorbeeld 2: Parameterized Constructor

// Oppervlakte van een muur berekenen met een parameterized constructor #include <iostream> using namespace std; class Wall { private: double length; double height; public: // Parameterized constructor Wall(double len, double hgt) { length = len; height = hgt; } double calculateArea() { return length * height; } }; int main() { Wall wall1(10.5, 8.6); Wall wall2(8.5, 6.3); cout << "Area of Wall 1: " << wall1.calculateArea() << endl; cout << "Area of Wall 2: " << wall2.calculateArea(); return 0; }

Output

Area of Wall 1: 90.3 Area of Wall 2: 53.55

De constructor wijst de doorgegeven waarden toe aan length en height, wat calculateArea() in staat stelt de oppervlakte van de muur te berekenen.


Copy Constructor

Een copy constructor creëert een nieuw object als exacte kopie van een bestaand object. Het wordt aangeroepen wanneer een object geïnitialiseerd wordt vanuit een ander van hetzelfde type.


Voorbeeld 3: Copy Constructor

#include <iostream> using namespace std; class Wall { private: double length; double height; public: // Parameterized constructor Wall(double len, double hgt) { length = len; height = hgt; } // Copy constructor Wall(Wall &obj) { length = obj.length; height = obj.height; } double calculateArea() { return length * height; } }; int main() { Wall wall1(10.5, 8.6); Wall wall2 = wall1; // Roept copy constructor aan cout << "Area of Wall 1: " << wall1.calculateArea() << endl; cout << "Area of Wall 2: " << wall2.calculateArea(); return 0; }

Output

Area of Wall 1: 90.3 Area of Wall 2: 90.3

De copy constructor kopieert length en height van wall1 naar wall2, wat zorgt dat beide objecten identieke staat hebben.

Let op: Constructors initialiseren primair objecten, maar stellen ook custom logica in tijdens objectcreatie.

C Taal

  1. C# Constructors: Types, Voorbeelden en Geavanceerde Patronen
  2. Constructor overloading in C#: flexibele klassen ontwerpen
  3. C++ datatypes begrijpen: fundamentals, modifiers en best practices
  4. C++ operators: complete gids met praktische voorbeelden
  5. C++ comments: best practices voor leesbare, onderhoudbare code
  6. C++ Class Templates Beheersen: Een Praktische Gids
  7. C++ Programmeertaal: Overzicht & Belangrijkste Kenmerken
  8. C++ Constanten & Literals Uitgelegd: Types, Syntax en Best Practices
  9. Uitgebreide Gids voor C++ Operators: Types, Gebruik en Best Practices
  10. Java-constructors beheersen: typen, gebruik en praktische voorbeelden
  11. Java Constructors Begrijpen: Initialisatie en Best Practices