Modernes C++ programmieren

Okt 23, 2024

lst-0250-godb.cpp

//#(execute) c++; compiler:g132; options:-O3 -std=c++23; libs:-
// https://godbolt.org/z/cqoTsWbhW 
#include <string>
#include <string_view>
using std::string; using sview = std::string_view;

struct Person {
    string name_;
    int alter_;
    string ort_;
    Person();                         // Konstruktor ohne Argumente
    Person(sview n, int a, sview o);  // Konstruktor mit drei Argumenten
    Person(sview n, int a);           // Konstruktor mit zwei Argumenten
    Person(sview n);                  // Konstruktor mit einem Argument
};

Person::Person() 
  : name_{"kein Name"}, alter_{-1}, ort_{"kein Ort"} { } 
Person::Person(sview n, int a, sview o) 
  : name_{n}, alter_{a}, ort_{o} { } 
Person::Person(sview n, int a)
  : name_{n}, alter_{a}, ort_{"kein Ort"} { }
Person::Person(sview n)
  : name_{n}, alter_{-1}, ort_{"kein Ort"} { }