עבור לתוכן

בעיה עם פונקציה המשותפת לכמה מחלקות ב-C++

Featured Replies

פורסם

שלום,

יש לי מספר מחלקות המשתמשות בפונקצייה gotoxy.

איפה אני צריך להגדיר אותה כדי שכולן יוכלו להשתמש בה ואני לא אקבל שגיאת קומפילצייה בגלל הכרזה חוזרת על אותה פונקציה?

יש לציין שבין המחלקות אין שום קשר מלבד העובדה ששתיהן משמשות את אותו קובץ הרצה.

תודה מראש!

פורסם

לא הבנתי, זו פונקציה שהגדרת (ומימשת) בעצמך, או שזו פונקציית ספריה שמשתמשים בה בכמה מקומות?

פורסם
  • מחבר

זאת פונקצייה שמימשתי בעצמי ומשתמשת בקובץ windows.h

#include <windows.h>
void gotoxy(int x, int y);

void gotoxy(int x, int y)
{
HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE);
COORD pos;
pos.X=x-1;
pos.Y=y-1;
SetConsoleCursorPosition(hCon, pos);
}

ואני רוצה להשתמש בה גם במחלקת Board וגם במחלקת Segment שהדבר היחיד המשותף להן הוא שאני משתמש בשתיהן באותו קובץ.

פורסם

אתה צריך בשביל זה לבצע הפרדה בין הגדרה למימוש.

צור קובץ בשם gotoxy.h, ושים בו את ההצהרה על הפונקציה:

#ifndef GOTOXY_H
#define GOTOXY_H

void gotoxy(int x, int y);

#endif

אתה המימוש של הפונקציה (כולל ה-include ל-windows.h) שים בקובץ gotoxy.c (או cpp או cc, תלוי איזו סיומת אתה משתמש בה).

בקבצים של המחלקות שאתה רוצה להשתמש בפונקציה, תבצע אינקלוד ל-"gotoxy.h"

סבביישן?

פורסם
  • מחבר

אחלה תודה =]

מה שניסיתי לעשות קודם זה אותו דבר רק שאת המימוש גם כתבתי ב-gotoxy.h.

תודה רבה על העזרה :xyxthumbs:

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים