Named parameters allow you to send function arguments in any sequence. This is very useful when your functions have long parameter lists. Named parameters are not supported in C++, but you can achieve the same functionality with this code:
class person;
class Employee
{
public:
void setEmployeeDetail (person& p);
void setEmployeeDetail (const string& name, int age)
{ cout << name.c_str() << age << endl;}
};
class person
{
public:
person& setName (const string& name)
{mName = name; return *this;}
person& setAge (int age)
{mAge = age; return *this;}
string getName ()
{return mName;}
int getAge ()
{return mAge;}
private:
string mName; int mAge;
};
void Employee::setEmployeeDetail (person& p)
{ setEmployeeDetail (p.getName (),p.getAge () ); }
void main ()
{ Employee e; e.setEmployeeDetail (person().setAge(28).setName("Duluc")); }