#include <iostream>
#include <string>
namespace mynamespace
{
struct Book
{
private:
std::string bookname;
std::string author;
int pages;
public:
Book() : bookname(),author(),pages()
{ }
Book(const std::string& name,const std::string& aut,int p) : bookname(name),author(aut),pages(p)
{ }
void print() const;
};
void Book::print() const
{
std::cout<<"Book name is "<<bookname<<'\n';
std::cout<<"Book author is "<<author<<'\n';
std::cout<<"Total book pages "<<pages<<'\n';
}
void foo(const Book& b)
{
b.print();
}
}
int main()
{
mynamespace::Book b("Andrei Alexzandrescu","Modern C++ Design",333);
foo(b);
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgpuYW1lc3BhY2UgbXluYW1lc3BhY2UKewoJc3RydWN0IEJvb2sKCXsKCQlwcml2YXRlOgoJCQlzdGQ6OnN0cmluZyBib29rbmFtZTsKCQkJc3RkOjpzdHJpbmcgYXV0aG9yOwoJCQlpbnQgcGFnZXM7CgkJcHVibGljOgoJCQlCb29rKCkgOiBib29rbmFtZSgpLGF1dGhvcigpLHBhZ2VzKCkKCQkJeyB9CgkJCUJvb2soY29uc3Qgc3RkOjpzdHJpbmcmIG5hbWUsY29uc3Qgc3RkOjpzdHJpbmcmIGF1dCxpbnQgcCkgOiBib29rbmFtZShuYW1lKSxhdXRob3IoYXV0KSxwYWdlcyhwKQoJCQl7IH0KCQkJdm9pZCBwcmludCgpIGNvbnN0OwoJfTsKCXZvaWQgQm9vazo6cHJpbnQoKSBjb25zdAoJewoJCXN0ZDo6Y291dDw8IkJvb2sgbmFtZSBpcyAiPDxib29rbmFtZTw8J1xuJzsKCQlzdGQ6OmNvdXQ8PCJCb29rIGF1dGhvciBpcyAiPDxhdXRob3I8PCdcbic7CgkJc3RkOjpjb3V0PDwiVG90YWwgYm9vayBwYWdlcyAiPDxwYWdlczw8J1xuJzsKCX0KCXZvaWQgZm9vKGNvbnN0IEJvb2smIGIpCgl7CgkJYi5wcmludCgpOwoJfQp9CmludCBtYWluKCkKewoJbXluYW1lc3BhY2U6OkJvb2sgYigiQW5kcmVpIEFsZXh6YW5kcmVzY3UiLCJNb2Rlcm4gQysrIERlc2lnbiIsMzMzKTsKCWZvbyhiKTsKfQ==