فصل الكلاس عن الملف الرئيسي main في لغة سي بلس بلس C++ الدرس|29| - Programmer Tech

Programmer Tech

تعلم البرمجة - علوم الكمبيوتر - أمن المعلومات - القرصنة الأخلاقية

إعلان اعلى المقالة

الأربعاء، 24 مارس 2021

فصل الكلاس عن الملف الرئيسي main في لغة سي بلس بلس C++ الدرس|29|


فصل الكلاس عن ملف main في C++

نُريد فصل الكلاس الذي انشأناه في الدرس السابق و جميع ما يخص الكلاس في ملف آخر و نريد في الملف الرئيسي فقط الدالة main لكي يكون الكود اكثر وضوحاً و اكثر تقسيماً.


خطوات فصل الكلاس عن ملف main

منذ بداية الدورة عملنا على برنامج CodeBlocks نقوم بترك المشروع الذي انشأناه في الدرس السابق و نقوم بالضغط على كلمة File في اقصى يسار البرنامج من الشريط العلوي ثم نختار New اي ملف جديد لأننا نريد فقط إضافة ملف إلى هذا المشروع ثم نختار Class.

 

ثم نقوم بكتابة إسم الكلاس كما هو في ملف Main نحن لدينا الكلاس Student نقوم بكتابة إسمه كما موضح بالشكل.

 

بعد ذلك نضغط على Create سوف يُنتشئ لنا ملفين جديدات و هما Student.h و Student.cpp كما موضخ بالشكل.


و بداخل الملفين الذي قمنا بإنشاءهم ستكون اكوادهم التلقائية هي

ملف Student.h

 

ملف Student.cpp


في الدرس السابق قُلنا أن
الجزء الأول من البرنامج يُسمى برأس الكلاس أو class header و هو ما سيتم وضعه في ملف Student.h سوف نقوم بقصه من كود الدرس السابق و لصقه في Student.h كما يلي

#include <iostream>
using namespace std;
#ifndef STUDENT_H
#define STUDENT_H
class Student{
private:
    string name;
    double grade;
public:
    Student(string n, double g);
    void setName(string n);
    void setGrade(int g);
    string pass();
    void printStatus();
};
#endif // STUDENT_H

 و في Student.cpp الذي يُسمى ملف العمل نقوم بحذف جميع اكواده الموجودة التلقائية, نُلاحظ في بدايته يكون كلمة Student مكتوبة بين علامتي تنصيص المزدوجه "" و ليس علامات اكبر من و اصغر من <> و الفرق بينهم هي أن علامة التنصيص المزدوجة تعني أن هذا الملف موجود في المشروع أما include iomanip هي خاصة بالمكتبات التي يجب جلبها من الخارج و ليست ملفات مكتوبة في هذا الملف, و في ملف Student.cpp نقوم بقص ما كان يوجد اسفل main في مثال الدرس السابق و لصقه بها كما يلي

#include "Student.h"
    Student::Student(string n, double g)
    {
        setName(n);
        setGrade(g);
    }
    void Student::setName(string n)
    {
        name = n;
    }
    void Student::setGrade(int g)
    {
        grade = g;
    }
    string Student::pass()
    {
        return (grade > 60 ? "yes" : "no");
    }
    void Student::printStatus()
    {
        cout << "Name : " << name << endl;
        cout << "Degree : " << grade << endl;
        cout << "Success : " << pass() << endl;
        cout << endl;
    }

  

و و ملف main سوف يتم به فقط كتابة القيم أي علامات الطلبة, و لكي يتم تعريف الكلاس نكتب include "Student.h" في بدايته كما بالكود الآتي.

#include <iostream>
#include "Student.h"
using namespace std;
int main()
{
    Student saja("Saja", 100);
    saja.printStatus();
    Student data("Mohammad", 30);
    data.printStatus();
    return 0;
}

 

وعند تشغيل البرنامج السابق سنحصل على النتيجة الآتية


 

ليست هناك تعليقات:

إرسال تعليق

facebook

نموذج الاتصال

الاسم

بريد إلكتروني *

رسالة *