Tanım
Birçok parametrenin ayarlanması gereken bir sınıfı oluşturmak için karmaşık constructorlar kullanmak yerine daha esnek yardımcı bir sınıf kullanmak.
C++ implementasyonu
#include <iostream>
#include <string>
using namespace std;
struct Person{
string name{};
string surname{};
int age{};
string job{};
void print() {
cout <<
"---Person---" << endl<<
"name: " << name << endl <<
"surname: " << surname << endl <<
"age: " << age << endl <<
"job: " << job << endl;
}
};
struct PersonBuilder {
private:
Person person;
public:
PersonBuilder() { person = Person(); }
Person& build() {
return person;
}
PersonBuilder& name(string str) {
person.name = str;
return *this;
}
PersonBuilder& surname(string str) {
person.surname = str;
return *this;
}
PersonBuilder& job(string str) {
person.job = str;
return *this;
}
PersonBuilder& age(int i) {
person.age = i;
return *this;
}
};
int main() {
Person p1 = PersonBuilder().age(24).name("Muhammet Esat").surname("BUYUKBULUT").job("Pro student").build();
Person p2 = PersonBuilder().name("Michelin").job("Lastik").build();
p1.print();
p2.print();
}
---Person---
name: Muhammet Esat
surname: BUYUKBULUT
age: 24
job: Pro student
---Person---
name: Michelin
surname:
age: 0
job: Lastik


Leave a Reply