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++ klassen & objecten: praktische gids voor object-georiënteerd programmeren

C++ Klassen & Objecten

Ontdek hoe je data en gedrag in C++ inkapselt met klassen en objecten, met duidelijke voorbeelden en best practices.

Waarom Klassen Gebruiken?

In eerdere lessons verkenden we functies en variabelen. Naarmate projecten groeien, wordt het groeperen van gerelateerde data en operaties essentieel voor onderhoudbaarheid en duidelijkheid. Een klasse laat je data members en member functions bundelen in een enkele logische eenheid, wat object-georiënteerd programmeren (OOP) mogelijk maakt – de fundament van modern C++ design.

Illustratie: Een Kamer

Overweeg een rechthoekige kamer. Je moet de lengte, breedte en hoogte opslaan terwijl je ook de oppervlakte en volume berekent. Met een klasse kun je deze strak gekoppeld houden:

class Room { public: double length; double breadth; double height; double calculateArea() { return length * breadth; } double calculateVolume() { return length * breadth * height; } }; 

Een Klasse Definiëren

Een klasse wordt gedefinieerd met het class keyword, gevolgd door de naam en een body in accolades, eindigend met een puntkomma:

class ClassName { // data members // member functions }; 

In het bovenstaande voorbeeld is Room een blueprint. De variabelen erin heten data members; de functies zijn member functions.

Objecten Aanmaken

Een klasse definiëren specificeert alleen de layout; het allokeert geen geheugen. Objecten zijn concrete instanties aangemaakt vanuit die blueprint:

Room room1; // enkel object Room room2, room3; // meerdere objecten in één declaratie 

Objecten kunnen overal geïnstantieerd worden – binnen functies, andere klassen, of globaal – zolang hun scope gerespecteerd wordt.

Leden Benaderen

Gebruik de dot (.) operator om member functions aan te roepen of data members te benaderen:

room1.length = 5.5; double area = room1.calculateArea(); 

Voorbeeld 1: Kamer Metrieken Berekenen

#include <iostream> using namespace std; class Room { public: double length; double breadth; double height; double calculateArea() { return length * breadth; } double calculateVolume() { return length * breadth * height; } }; int main() { Room room1; room1.length = 42.5; room1.breadth = 30.8; room1.height = 19.2; cout << "Area of Room = " << room1.calculateArea() << endl; cout << "Volume of Room = " << room1.calculateVolume() << endl; return 0; } 

Output

Area of Room = 1309 Volume of Room = 25132.8

Encapsulatie: Public vs Private

Encapsulatie beschermt data door toegang te controleren. Leden gedeclareerd als private zijn verborgen voor de buitenwereld en kunnen alleen via publieke member functions benaderd worden.

class Test { private: int a; void function1() {} public: int b; void function2() {} }; 

In het volgende voorbeeld zijn data members private en worden geïnitialiseerd via een publieke methode:

#include <iostream> using namespace std; class Room { private: double length; double breadth; double height; public: void initData(double len, double brth, double hgt) { length = len; breadth = brth; height = hgt; } double calculateArea() { return length * breadth; } double calculateVolume() { return length * breadth * height; } }; int main() { Room room1; room1.initData(42.5, 30.8, 19.2); cout << "Area of Room = " << room1.calculateArea() << endl; cout << "Volume of Room = " << room1.calculateVolume() << endl; return 0; } 

Output

Area of Room = 1309 Volume of Room = 25132.8

Verder Lezen

Voor authoritatieve richtlijnen, raadpleeg de ISO/IEC 14882:2023 C++ Standaard of betrouwbare bronnen zoals cplusplus.com en cppreference.com.

C Taal

  1. C++ Structuren vs Classes: Een praktische gids voor embedded-ontwikkelaars
  2. C# Classes & Objects: Fundamenten voor Robuuste OOP
  3. C# Abstract Classes & Methods: Een Praktische Gids
  4. C# Partial Classes en Methods: Een Praktische Gids
  5. C# Sealed Classes en Methods: Wanneer en Hoe Te Gebruiken
  6. C++ Friend Functies en Friend Classes: Toegangscontrole Beheersen
  7. C++ Class Templates Beheersen: Een Praktische Gids
  8. C++ Struct vs Class: Belangrijkste Verschillen, Syntaxis en Beste Gebruikssituaties
  9. Storage Classes in C++ Begrijpen: Scope, Levensduur en Gebruik
  10. Uitgebreide Gids voor Datum en Tijd in C++
  11. Java klassen en objecten: een praktische gids