Vad exakt är skillnaden mellan en klass och en funktion i C++?

Permalänk
Medlem

Vad exakt är skillnaden mellan en klass och en funktion i C++?

Det är kanske en dum fråga men jag är inte helt 100 på skillnaden mellan en funktion och en klass i C++. Båda kan ju användas för att modifiera värden man skickar till dem men vad är exakt skillnaden mellan dem?

Permalänk
Medlem

En klass är en inkapsling av variabler & funktioner, funktionerna i klassen brukar tex manipulera variablerna i klassen eller beräkna något baserat på dom.

En vanlig funktion behöver inte sitta i en klass, den kan skrivas separat, då brukar man skicka med variabler som parametrar som skall manipuleras tex.

Permalänk
Medlem

Skillnaden mellan klasser och funktioner är, enkelt uttryckt, skillnaden mellan C och C++, eller mer generaliserande skillnaden mellan funktionell och objektorienterad programmering.

När man programmerar objektorienterat bryter man ner koden konkreta bitar, vanligtvis i ett försök att främja återanvändning. Själva tanken med klasser är att de ska representera något specifikt utan att kräva information om de klasser som de samspelar med. En klass är alltså enkelt uttryckt definitionen av ett objekt.

Funktioner i klasser kallas för metoder och agerar genom och ofta på de objekt de tillhör. Det är egentligen en mer korrekt jämförelse än att jämföra funktioner mot klasser då en klass inte nödvändigtvis behöver tillhandahålla några metoder.

Visa signatur

Kom-pa-TI-bilitet

Permalänk

En klass är en mall över hur ett objekt ska skapas. Ett objekt är en sak, något du kan sätta "en" eller "ett" framför

Visa signatur

System.out.print(madness ? this.is.SPARTA : "");

Permalänk

Rent tekniskt så är en klass en struct (med lite tillhörande metoder) och en funktion är... en funktion