Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Klassens Metoder | Grunderna i OOP i C++
C++ OOP

book
Klassens Metoder

Metoder i en klass är i grunden bara funktioner som definieras inom klassen. De används för att definiera de beteenden eller handlingar som objekt av klassen kan utföra.

Metoder manipulerar ofta attributen i klassen eller utför operationer som är relevanta för objekten.

Implementering av metoder utanför klassen

Metoder kan definieras utanför class-deklarationen med hjälp av scope resolution operator (::). Detta görs ofta för att separera deklarationen i header-filen från dess implementation i källkodsfilen. Så här gör du:

Example.h

Example.h

Example.cpp

Example.cpp

copy
class Example {
public:
void Method();
};
1234
class Example { public: void Method(); };

Det är inte obligatoriskt att skapa två separata filer för detta ändamål; du kan uppnå det i en enda fil, och i vissa situationer visar det sig vara fördelaktigt.

main.cpp

main.cpp

copy
#include <iostream>

class Example {
public:
void Method();
};

void Example::Method() { std::cout << "Method was called" << std::endl; }
12345678
#include <iostream> class Example { public: void Method(); }; void Example::Method() { std::cout << "Method was called" << std::endl; }

Du kan gärna lösa uppgiften med den metod du föredrar. Men en allmänt god praxis är att separera deklaration och implementation.

Uppgift

Swipe to start coding

Du arbetar med en Square-klass och behöver lägga till metoder för att beräkna dess dimensioner.

  • Implementera metoderna area() och perimeter() i Square-klassen.
  • Skapa en instans av klassen, tilldela ett värde till dess side och anropa båda metoderna för att få resultaten.

Lösning

solution.cpp

solution.cpp

#include <iostream>

class Square {
public:
float area() { return side * side; }
float perimeter() { return side * 4; }

float side;
};

int main()
{
Square square;
square.side = 5;
std::cout << square.area() << ' ';
std::cout << square.perimeter() << ' ';
}
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 5
single

single

#include <iostream>

class Square {
public:
___ ___()
{
// Implement
}
___ ___()
{
// Implement
}

float side;
};

int main()
{
Square square;
square.side = 5;
std::cout << square.area() << ' ';
std::cout << square.perimeter() << ' ';
}

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

We use cookies to make your experience better!
some-alt