Frage von Korrelationsfkt, 52

C++ eigenen Datentypen mit den selben Eigenschaften wie der Datentyp int?

Hallo,

ich benötige 3 verschiedene Möglichkeiten.

Bekannt sind mir Klasse und Struct. Was wäre noch eine Möglichkeit?

Mir ist allerdings nicht klar, wie ich einen Datentypen mit Struct bzw. Klasse erstelle.

Wäre dies z.B. ein eigener Datentyp (Klasse):

**class Kaesebrot

{

public:

   int a;

};

int main()

{

Kaesebrot k;

k.a = 5;

cout << k.a << endl;

}

**

Für Struct müsste dieser vom Aufbau her im Prinzip gleich sein.

Ist dies so richtig? Was wäre noch die 3. Möglichkeit?

Expertenantwort
von TeeTier, Community-Experte für programmieren, 32

Eine Struktur bestehend aus einem int-Member hat nicht die gleichen Eigenschaften wie ein "nackter" int!

Ist das eine Hausaufgabe?

Wenn ja, dann guck dir mal die folgenden 3 Zeilen an:

using foo = int;
typedef int bar;
#define BAZ int

Damit kannst du an allen Stellen, an denen auch ein int stehen kann, entweder "foo", "bar" oder "BAZ" einsetzen. Die Eigenschaften sind damit auch - im Gegensatz zu einer Struktur - zu 100% identisch und kompatibel.

Viel Spaß! :)

PS: Falls du partout auf Strukturen bestehst:

struct Foo {
int x;
};

class Bar {
public: int x;
};

union Baz {
int x;
};

enum : int {
X
};

enum class Qux : int {
X
};

Die Union mit nur einem Member ist zwar sinnfrei, aber möglich.

Und die Enumerationen haben damit eigentlich überhaupt nichts zu tun, aber weil die Sonne gerade so schön scheint, habe ich das mit reingepackt! :)

Kommentar von Korrelationsfkt ,

Auf welcher Schule hat man denn bitte Programmier Aufgaben?

Kommentar von TeeTier ,

Auf der VHS, dem Gymnasium und im Grundstudium zum Beispiel. :)

PS: Beachte bitte noch die Editierung meiner Antwort ... habe da noch etwas hinzugefügt! :)

Kommentar von Korrelationsfkt ,

VHS und Grundstudium sind raus, weil hier die Schule bereits beendet wurde.

Auf dem Gymnasium habe weder ich noch sonst irgendjemand den ich kenne programmiert geschweige denn Hausaufgaben zu dem Thema bekommen. Also steigere dich mal nicht zu sehr in diese unerhörten Hausaufgaben Fragen rein.

Ist also so wie ich es gemacht habe richtig, für Struct und Klasse.

Kommentar von TeeTier ,

Naja OK, ist ja eigentlich auch egal.

Aber wenn du dir mal ganz unvoreingenommen deine eigene Fragestellung durchliest:

ich benötige 3 verschiedene Möglichkeiten.

Bekannt sind mir Klasse und Struct. Was wäre noch eine Möglichkeit?

Auf den ersten Blick klingt das vermutlich für sehr viele Mitleser nach Hausaufgaben. Und da ist ja auch gar nichts Schlimmes dran ... ich habe das nicht mal böse oder abwertend gemeint. War nur die Äußerung einer Vermutung. :)

Ein sehr großer Teil der Programmierfragen hier auf GF beziehen sich auf Hausaufgaben. Von daher wäre das ja nicht ungewöhnlich.

Aber egal. Immerhin weißt du ja jetzt, was du wissen musst. Viel Erfolg damit! :)

Kommentar von Korrelationsfkt ,

Nein ich lerne für die morgige Klausur.

Vielleicht hast du ja auch hier eine Antwort für:

Ich soll folgendes berechnen:

Produkt von K= 1 nach 5 ( Produkt i=1 nach 4 ( 2*k*i)).

Sowie ich das hier sehe benötige ich 2 ineinander verschachtelte Schleifen (For-Schleife).

Die äußere Schleife ist vermutlich K =1. Nur habe ich keinen Schimmer wie ich nun die Gleichung setzen muss. Bei meinem Versuch wird eine Fehlermeldung ausgegeben. Mir war zwar bewusst, dass das so nicht richtig ist.. aber das hier nichtmal was ausgegeben wurde wundert mich.

Kommentar von PWolff ,

Stell das am besten als eigene Frage.

Kommentar von wolfgang1956 ,

Nein ich lerne für die morgige Klausur.

Also doch mehr oder minder Hausaufgabe!

Kommentar von Korrelationsfkt ,

Ich bin im Studium, das ist schon richtig.

Hausaufgabe ist es dennoch nicht. Lernen war noch nie eine Hausaufgabe.

Kommentar von Roderic ,

Apropos Sonnenschein. Was machst du eigentlich bei einem so herrlichen Sonnensonntag nachmittags am Computer.

Radel, Kind und Kegel schnappen und ab ins Grüne!

Keine passende Antwort gefunden?

Fragen Sie die Community