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

Verschil tussen structuur en klasse:uitgelegd met C++-voorbeeld

Wat is structuur?

Structuur is een door de gebruiker gedefinieerd gegevenstype dat logisch gerelateerde gegevensitems van verschillende gegevenstypen, zoals float, char, int, enz., samen combineert.

Alle structuurelementen worden opgeslagen op aangrenzende geheugenlocaties. Met de variabele structuurtype kunt u meer dan één gegevensitem van verschillende gegevenstypen onder één naam opslaan.

Wat is klasse?

Klasse is een blauwdruk of een reeks instructies om een ​​specifiek type object te bouwen. Het is een basisconcept van objectgeoriënteerd programmeren dat draait om real-life entiteiten. Klasse in een programmeertaal bepaalt hoe een object zich zal gedragen en wat het object zal bevatten.

Klasse is ook een door de gebruiker gedefinieerd gegevenstype dat verschillende soorten gegevenstypes en lidfuncties in zijn lichaam kan hebben.

Syntaxis van klasse in C++

Hier is een syntaxis van Klasse:

class class-name
{
// data
// functions
};

In de bovenstaande syntaxis is de klassenaam de naam die aan de klasse is toegewezen. De gegevens zijn het lid van de klasse, normaal gedeclareerd als variabelen. De functies hier zijn de klassenfuncties.

Syntaxis van structuur in C++

Hier is een syntaxis van Structuur:

struct struct_name
{
// struct data members
}

In de bovenstaande syntaxis wordt het sleutelwoord struct gebruikt. De struct_name is de naam van de structuur. De structuurelementen worden toegevoegd tussen accolades. Deze leden behoren waarschijnlijk tot verschillende gegevenstypen.

Verschil tussen structuur en klasse

Hier is het belangrijkste verschil tussen structuur en klasse:

Structuur Klasse Structuur is een door de gebruiker gedefinieerd gegevenstype dat logisch gerelateerde gegevensitems van verschillende gegevenstypen, zoals char, float, int, enz., combineert. Klasse is een blauwdruk of een reeks instructies om een ​​specifiek type object te bouwen. gedeclareerd met het trefwoord struct. Het kan worden gedeclareerd met het trefwoord class. Het is een gegevenstype van het waardetype. Het is een gegevenstype van het referentietype. Je kunt het niet erven van andere structuren of klassen. Je kunt het erven van andere structuren of klassen Het kan objecten instantiëren zonder een nieuw trefwoord te gebruiken. Het kan een object instantiëren met een nieuw trefwoord. U kunt de standaardconstructor van structuur niet wijzigen. U kunt de standaardconstructor van de klasse wijzigen. Structuur kan geen destructor hebben. Klasse kan een destructor hebben. structuur worden alle waardetypes toegewezen op de stapel.In de klas worden alle waardetypes toegewezen op heap.Het wordt gebruikt in kleine programma's.Het wordt gebruikt in grote programma's.Lidfuncties kunnen niet abstract of virtueel zijn.Lidfuncties kunnen abstract of deugdzaamheid ual.Structure-instanties worden 'structuurvariabelen' genoemd. Klasse-instanties worden objecten genoemd. Het kan geen null-waarden hebben. Het kan null-waarden hebben. Variabelen van structuurleden kunnen niet rechtstreeks worden gestart. Variabelen van klassenlid kunnen direct worden gestart. Als u niet hebt gedeclareerd een toegangsspecificatie, dan zijn de leden van de structuur openbaar. Als u geen toegangsspecificatie hebt gedeclareerd, zijn de leden van de klasse privé.

Welke moet je kiezen?

Als je een grote geheugenvoetafdruk hebt of een concept als overerving wilt gebruiken, dan kun je een klasse kiezen. Aan de andere kant kan de structuur worden gebruikt wanneer u een klein geheugenveld of footprint heeft dat nodig is om standaardwaarden te initialiseren.

BELANGRIJKE VERSCHILLEN

  • Structuur is een door de gebruiker gedefinieerd gegevenstype dat logisch gerelateerde gegevensitems van verschillende gegevenstypes combineert, terwijl Klasse een blauwdruk of een reeks instructies is om specifieke soorten objecten te bouwen.
  • Structuur is een gegevenstype van het waardetype, terwijl klasse een gegevenstype van het referentietype is.
  • U kunt de standaardconstructor van structuur niet wijzigen, terwijl u de standaardconstructor van de klasse wel kunt wijzigen.
  • Structuur kan geen destructor hebben, aan de andere kant kan klasse destructor hebben.
  • Klasse wordt gebruikt in kleine programma's, terwijl de structuur wordt gebruikt in grote programma's.
  • In structuur worden alle waardetypen op stapel toegewezen, terwijl in de klas alle waardetypen op heap worden toegewezen.
  • Instances van 'structuur' worden 'structuurvariabelen' genoemd, terwijl instanties van een 'klasse' 'objecten' worden genoemd.
  • Structuurlidvariabelen kunnen niet direct worden gestart, terwijl klasselidvariabelen direct kunnen worden gestart.

C Taal

  1. C++ klassen en objecten
  2. C++ Meerdere, meerdere niveaus en hiërarchische overerving
  3. C++ vriend Functie en vriend Klassen
  4. Operators in C++ met voorbeeld:wat is, typen en programma's
  5. C++ For Loop met VOORBEELD
  6. C++ Switch Case Statement met VOORBEELD
  7. C++ Dynamische toewijzing van arrays met voorbeeld
  8. C++-structuur met voorbeeld
  9. std::lijst in C++ met Voorbeeld
  10. C# Abstract Class-zelfstudie met voorbeeld:wat is abstractie?
  11. Verschil tussen while en do-while:uitgelegd met voorbeelden