یکی از مهمترین ویژگی‌های ++C کارایی و سرعت آن است، اما این امر بخوبی میسر نخواهد شد مگر آنکه ما نیز به عنوان برنامه‌نویس نقش خود را به درستی ایفا کنیم.

امروز میخواهیم یکی از رایج‌ترین اشتباهات برنامه‌نویسان ++C (بخصوص برنامه‌نویسانی که از زبان دیگری به این زبان روی آورده‌اند) را به هنگام ایجاد کانستراکتور یک کلاس تشریح کنیم. فرض کنید کلاسی به نام شخص (Person) داریم که Member Variableهای آن عبارتند از: نام(firstname)، نام خانوادگی (lastname) و سن (age).

این کلاس را به صورت زیر مینویسیم:

class Person
{
private:
std::string firstname;
std::string lastname;
int age;
public:
Person (std::string pFirstname, std::string pLastname, int pAge)
{
firstname = pFirstname;
lastname = pLastname;
age = pAge;
}
};

شما کد را کامپیایل و اجرا میکنید، هیچ خطا یا هشداری داده نمیشود و کد هم به درستی و بدون کوچکترین مشکلی اجرا میشود. اما اگر این نمونه کد را به یک برنامه‌نویس خبره در زبان ++C نشان دهید به شما خواهد گفت این کد درست نیست.

اون موقع هست که از خودتون میپرسید وقتی کد داره به درستی اجرا میشه مشکل من کجاست؟