Open Source Your Knowledge, Become a Contributor

Technology knowledge has to be shared and made accessible for free. Join the movement.

Create Content
Previous: The Implicit Converting Constructor Next: Operator Overloading

The Explicit Converting Constructor

#include <iostream>
using namespace std;
class Element {
int atomic_number;
// note the use of the explicit keyword below
explicit Element(int an_atomic_number) :
atomic_number(an_atomic_number) {}
int get_atomic_number() const {
return atomic_number;
int main() {
Element na(11);
Element mg = 12; // error
cout << na.get_atomic_number() << endl; // prints 11
return 0;
Open Source Your Knowledge: become a Contributor and help others learn. Create New Content