Flash cards
Review the key moves
What is the main idea behind C++ Classes and Objects?
Lesson checks
Practice each idea before moving on
Short Mimo-style checks built from this lesson's code, terms, and sequence.
Which statement best captures the main point of this lesson?
Complete the missing token from the example code.
___ MyClass {Put the learning moves in the order that makes the concept easiest to apply.
C++ Classes/Objects
C++ is an object-oriented programming language.
Everything in C++ is associated with classes and objects, along with its attributes and methods. For example: in real life, a car is an object . The car has attributes , such as weight and color, and methods , such as drive and brake.
Attributes and methods are basically variables and functions that belongs to the class. These are often referred to as "class members".
A class is a user-defined data type that we can use in our program, and it works as an object constructor, or a "blueprint" for creating objects.
Create a Class
To create a class, use the class keyword:
Example
Create a class called " MyClass ":
class MyClass {
// The class public: // Access specifier int myNum; // Attribute (int variable) string myString; // Attribute (string variable)
};Example explained
- The class keyword is used to create a class called MyClass .
- The public keyword is an access specifier , which specifies that members (attributes and methods) of the class are accessible from outside the class. You will learn more about access specifiers later.
- Inside the class, there is an integer variable myNum and a string variable myString . When variables are declared within a class, they are called attributes .
- At last, end the class definition with a semicolon ; .
Create an Object
In C++, an object is created from a class. We have already created the class named MyClass , so now we can use this to create objects.
To create an object of MyClass , specify the class name, followed by the object name.
To access the class attributes ( myNum and myString ), use the dot syntax ( . ) on the object:
myObjMultiple Objects
You can create multiple objects of one class:
Example
// Create a Car class with some attributes class Car { public: string brand; string model; int year;
};
int main() {
// Create an object of Car Car carObj1; carObj1.brand = "BMW"; carObj1.model = "X5"; carObj1.year = 1999; // Create another object of Car Car carObj2; carObj2.brand = "Ford"; carObj2.model = "Mustang"; carObj2.year = 1969; // Print attribute values cout << carObj1.brand << " " << carObj1.model << " " << carObj1.year << "\n"; cout << carObj2.brand << " " << carObj2.model << " " << carObj2.year << "\n";
return 0;
}Challenge Task
Create a class called Book with the following attributes:
- title ( string )
- author ( string )
- year ( int )
Then create two objects of the class and print their attribute values.
Matilda, Roald Dahl, 1988
The Giving Tree, Shel Silverstein, 1964Runnable example
#include <iostream>
#include <string>
using namespace std;
class Book {
public: string title;
string author;
int year;
};
int main() {
Book book1;
book1.title = "Matilda";
book1.author = "Roald Dahl";
book1.year = 1988;
Book book2;
book2.title = "The Giving Tree";
book2.author = "Shel Silverstein";
book2.year = 1964;
cout << book1.title << ", " << book1.author << ", " << book1.year << "\n";
cout << book2.title << ", " << book2.author << ", " << book2.year;
return 0;
}