Firefox about:srcdoc
Cheatsheets / C++ for Programmers
Object-Oriented Programming in C++
Class Members
A class is comprised of class members: class City {
• Attributes, also known as member data, consist of information about an
instance of the class.
• Methods, also known as member functions, are functions that can be // Attribute
used with an instance of the class. int population;
public:
// Method
void add_resident() {
population++;
}
};
1 de 10 23/06/2025, 03:58 p.m.
Firefox about:srcdoc
Constructor
For a C++ class, a constructor is a special kind of method that enables control #include "city.hpp"
regarding how the objects of a class should be created. Di�erent class
constructors can be speci�ed for the same class, but each constructor signature
must be unique. class City {
std::string name;
int population;
public:
City(std::string new_name, int new_pop);
};
Objects
In C++, an object is an instance of a class that encapsulates data and City nyc;
functionality pertaining to that data.
Class
A C++ class is a user-de�ned data type that encapsulates information and class Person {
behavior about an object. It serves as a blueprint for future inherited classes.
};
2 de 10 23/06/2025, 03:58 p.m.
Firefox about:srcdoc
Access Control Operators
C++ classes have access control operators that designate the scope of class class City {
members:
• public
• private int population;
public members are accessible everywhere; private members can only be
accessed from within the same instance of the class or from friends classes. public:
void add_resident() {
population++;
}
private:
bool is_capital;
};
3 de 10 23/06/2025, 03:58 p.m.
Firefox about:srcdoc
Constructors
For a C++ class, a constructor is a special kind of method that enables control #include <iostream>
regarding how the objects of a class should be created. Di�erent class
constructors can be speci�ed for the same class, but each constructor signature
must be unique. using namespace std;
A constructor can have multiple parameters as well as default parameter values.
In order to initialize const or reference type attributes, use member initializer
class House {
lists instead of normal constructors.
private:
std::string location;
int rooms;
public:
// Constructor with default parameters
House(std::string loc = "New York", int num = 5) {
location = loc;
rooms = num;
}
// Destructor
~House() {
std::cout << "Moved away from " << location << "\n";
}
};
int main()
{
House default_house; // Calls House("New York", 5)
House texas_house("Texas"); // Calls House("Texas",
5)
4 de 10 23/06/2025, 03:58 p.m.
Firefox about:srcdoc
House big_florida_house("Florida", 10); // Calls
House("Florida", 10)
return 0;
}
5 de 10 23/06/2025, 03:58 p.m.
Firefox about:srcdoc
Inheritance
In C++, a class can inherit attributes and methods from another class. In an #include <iostream>
inheritance relationship, there are two categories of classes:
• Base class: The class being inherited from.
• Derived class: The class that inherits from the base class. class Base {
It’s possible to have multi-level inheritance where classes are constructed in public:
order from the “most base” class to the “most derived” class.
int base_id;
Base(int new_base) : base_id(new_base) {}
};
class Derived: public Base {
public:
int derived_id;
Derived(int new_base, int new_derived)
: Base(new_base), derived_id(new_derived) {}
void show() {
std::cout << base_id << " " << derived_id;
}
};
int main() {
Derived temp(1, 2);
temp.show(); // Outputs: 1 2
return 0;
6 de 10 23/06/2025, 03:58 p.m.
Firefox about:srcdoc
Access Speci�ers
Access speci�ers are C++ keywords that determine the scope of class #include <iostream>
components:
• public : Class members are accessible from anywhere in the program.
• private : Class members are only accessible from inside the class. class Computer {
Encapsulation is achieved by declaring class attributes as private : private:
• Accessor functions: return the value of private member variables. int password;
• Mutator functions: change the value of private member variables.
public:
int getPassword() {
return password;
}
void setPassword(int new_password) {
password = new_password;
}
};
int main()
{
Computer dell;
dell.setPassword(12345);
std::cout << dell.getPassword();
return 0;
}
7 de 10 23/06/2025, 03:58 p.m.
Firefox about:srcdoc
Classes and Objects
A C++ class is a user-de�ned data type that encapsulates information and #include <iostream>
behavior about an object.
A class can have two types of class members:
• Attributes, also known as member data, consist of information about an class Dog {
instance of the class. public:
• Methods, also known as member functions, are functions that can be
int age;
used with an instance of the class.
An object is an instance of a class and can be created by specifying the class
name. void sound() {
std::cout << "woof\n";
}
};
int main() {
Dog buddy;
buddy.age = 5;
buddy.sound(); // Outputs: woof
}
8 de 10 23/06/2025, 03:58 p.m.
Firefox about:srcdoc
Polymorphism
In C++, polymorphism occurs when a derived class overrides a method inherited #include <iostream>
from its base class with the same function signature.
Polymorphism gives a method many “forms”. Which form is executed depends
on the type of the caller object. class Employee {
public:
void salary() {
std::cout << "Normal salary.\n";
}
};
class Manager: public Employee {
public:
void salary() {
std::cout << "Normal salary and bonus.\n";
}
};
int main() {
Employee newbie;
Manager boss;
newbie.salary(); // Outputs: Normal salary.
boss.salary(); // Outputs: Normal salary and bonus.
return 0;
}
9 de 10 23/06/2025, 03:58 p.m.
Firefox about:srcdoc
Print Share
10 de 10 23/06/2025, 03:58 p.m.