اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

في كل من جافاسكريبت و C++، الـ constructor هي دالة خاصة يتم استدعاؤها عند إنشاء كائن جديد، نستخدمها لإعداد الكائن الجديد و تخصيص قيمه الأولية.

وهناك بعض الاختلافات بين كيفية معاملة ال constructor في جافاسكريبت و C++.

  • في C++، يجب أن تكون ال constructor مخصصة، أي يجب أن يكون لها اسم فئة كاسم لها، بينما في جافاسكريبت، لا يلزم أن تكون ال constructor مخصصة.
  • في C++، يمكن أن تعيد ال constructor قيمة، أما في جافاسكريبت، لا يتم إعادة قيمة.
  • في C++، ترث الـ constructor من فئات أخرى، بينما في جافاسكريبت،لا ترث الـ constructor من فئات أخرى.

مثال على الـ constructor في جافاسكريبت:

class Person {
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }
}

const person = new Person("mahmoud", 30);
console.log(person.name); // "mahmoud"
console.log(person.age); // 30

تُنشئ دالة الـ constructor الكائن الجديد وتعيين قيمة للمتغيرين name و age.

مثال على الـ constructor في C++:

class Person {
 public:
  Person(const std::string& name, int age) : name_(name), age_(age) {}

 private:
  std::string name_;
  int age_;
};

int main() {
  Person person("mahmoud", 30);
  std::cout << person.name() << std::endl; // "mahmoud"
  std::cout << person.age() << std::endl; // 30
}

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...