C++تعريف دالة تأخذ باراميتر نوعه مؤشر لكائن من كلاس
التعامل مع مؤشر لكلاس هو نفسه تماماً التعامل مع مؤشر لـ struct
.
إذاً للوصول للأشياء الموجودة في مؤشر لكائن من كلاس نستخدم العامل ->
و ليس العامل .
المعتاد.
في المثال التالي, قمنا بتعريف كلاس إسمه Book
يمثل المعلومات التي يمكن أن يتضمنها أي كتاب كعنوانه, إسم المؤلف, سعره و عدد صفحاته.
بعدها قمنا بتعريف دالة إسمها printInfo
عند استدعاءها نمرر لها عنوان كائن من Book
موجود في الذاكرة فتقوم بطباعة قيمه بشكل مرتب.
في الأخير قمنا بإنشاء كائن من Book
و إعطاؤه قيم, و من ثم تمرير عنوانه في الذاكرة للدالة printInfo()
حتى تقوم بطباعة قيمه.
مثال
using namespace std; // يحتوي على 4 متغيرات Book هنا قمنا بتعريف كلاس إسمه class Book { public: string title; string author; double price; int numberOfPages; }; // فتقوم بطباعة كل قيم المتغيرات الموجودة فيه Book عند استدعاءها نمرر لها عنوان كائن من printInfo هنا قمنا بتعريف دالة إسمها void printInfo(Book* book) { cout << "Title: " << book->title << "\n"; cout << "Author: " << book->author << "\n"; cout << "Price: " << book->price << "$\n"; cout << "Number of pages: " << book->numberOfPages << "\n"; } // main() هنا قمنا بتعريف الدالة int main() { // book إسمه Book هنا قمنا بتعريف كائن من Book book; // book هنا قمنا بإعطاء قيم لمتغيرات الكائن book.title = "C++ for beginners"; book.author = "Mhamad Harmush"; book.price = 9.99; book.numberOfPages = 420; // لها حتى تقوم بطباعة القيم الموجودة فيه book و تمرير عنوان الكائن printInfo() هنا قمنا باستدعاء الدالة printInfo(&book); return 0; }
سنحصل على النتيجة التالية عند التشغيل.
Title: C++ for beginners Author: Mhamad Harmush Price: 9.99$ Number of pages: 420