Beispiel explicit

explicit.cpp
#include <iostream>
 
class Integer
{
public:
  explicit Integer(int wert = 0) : _value(wert) {}
  int wert() const { return _value; }
private:
  int _value;
};
 
int main()
{
  Integer i;
  // i = 42;       // Fehler: implizite Umwandlung
  i = Integer(42); // ok: ausdrücklicher Konstruktoraufruf 
 
  std::cout << i.wert() << '\n';
}