Search⌘ K

Design Player Class

Learn how classes and objects work in C++, and see how they help you model real-world entities—such as game characters in a battle simulator.

The project

You’ve created planners and trackers so far, and now it’s time to build something more interactive and exciting: a Character Battle Simulator. In this project, you’ll design a simple combat game featuring two characters—Knight Alex and Orc Blaze. Each character has a name, health value, and attack power. They can take turns attacking, lose health, and continue battling until one of them wins.

You could use variables like this:

string name1 = "Knight Alex";
int health1 = 100;
int attack1 = 15;
string name2 = "Orc Blaze";
int health2 = 100;
int attack2 = 12;

That approach works for two characters, but what if you need ten? And what if each character must attack, heal, or defend? You would quickly end up with duplicated variables and cluttered code. Classes and objects solve this problem by bundling related data and behaviors into a single, reusable structure.

The programming concept

Today’s concept is classes and objects, which form the foundation of object-oriented programming (OOP) in C++.

  • A class is a blueprint. It defines what something is and what it can do.

  • An object is a specific instance created from that blueprint. For example, you can create a Knight Alex object from the Player class.

Let’s explore this idea with a simple example.

C++
#include <iostream>
using namespace std;
class Example {
public:
int number;
};
int main() {
Example obj; // Object created from Example class
obj.number = 42; // Set its data
cout << "Number: " << obj.number << endl;
return 0;
}

Here, class Example defines a structure for data. obj is an object—it has its own copy of number. You can make multiple Example ...