#include <iostream>
#include <string>

class Foo {
	std::string m_bar = "Bar";
	int m_baz = 3;
	float m_boo = 4.2f;
public:
	Foo() = default;
	Foo(const char* bar) : m_bar(bar) {}
	explicit Foo(int baz, float boo) : m_baz(baz), m_boo(boo) {}
	
	void describe() {
		std::cout << "bar:" << m_bar.c_str() << ", "
		  << "baz:" << m_baz << ", "
		  << "boo:" << m_boo << '\n';
	}
};

int main() {
	// your code goes here
	Foo def;
	Foo str("hello");
	Foo vals(9, 99.9);

    std::cout << "def: ";
    def.describe();
    
    std::cout << "str: ";
    str.describe();
    
    std::cout << "vals: ";
    vals.describe();

	return 0;
}