Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Learn Constructor and Attributes | Constructors and Destructors
C++ OOP

book
Constructor and Attributes

One of the primary usage of the constructors is to initialize attributes of the class. A default constructor, for example, can be used to set initial values. For example:

main.cpp

main.cpp

copy
#include <iostream>

class Person {
public:
Person() { name = "undefined"; }
std::string name;
};

int main()
{
Person person;
std::cout << person.name;
}
1234567891011121314
#include <iostream> class Person { public: Person() { name = "undefined"; } std::string name; }; int main() { Person person; std::cout << person.name; }

If you don't specify value for name attribute of the object, it will be set to underfined as a default. You can try removing this constructor to see what changes occur.

Initializing Attributes with Constructor

Like functions, constructors can take parameters, allowing different arguments during object creation. You can also overload them to handle varying numbers of arguments.

main.cpp

main.cpp

copy
class Person {
public:
Person(std::string _name, std::string _surname, int _age)
{
name = _name;
surname = _surname;
age = _age;
}

std::string name;
std::string surname;
int age;
};

int main()
{
Person person("Bob", "Song", 23);
}
123456789101112131415161718
class Person { public: Person(std::string _name, std::string _surname, int _age) { name = _name; surname = _surname; age = _age; } std::string name; std::string surname; int age; }; int main() { Person person("Bob", "Song", 23); }
Task

Swipe to start coding

You are working with a Location class and need to initialize its attributes using a constructor.

  • Create a constructor that takes three parameters and assigns them to the instance variables.
  • Create an object of the Location class using the constructor.
  • Output the initialized attributes of the object to the console.

Solution

solution.cpp

solution.cpp

#include <iostream>

class Location {
public:
Location(std::string _name, float _x, float _y) {
name = _name;
x = _x;
y = _y;
}
std::string name;
float x, y;
};

int main()
{
Location city("Rome", 41.902782, 12.496366);
std::cout << city.name << ' ' << city.x << ' ' << city.y;
}
Everything was clear?

How can we improve it?

Thanks for your feedback!

Section 2. Chapter 2
single

single

#include <iostream>

class Location {
public:
___(___)
{

}

std::string name;
float x, y;
};

int main()
{
Location city("Rome", 41.902782, 12.496366);
std::cout << city.name << ' ' << city.x << ' ' << city.y;
}

Ask AI

expand

Ask AI

ChatGPT

Ask anything or try one of the suggested questions to begin our chat

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