שלום דודי,
GUI זהו קיצור של:
Graphical User Interface
או בעיברית:ממשק משתמש גרפי.
והכוונה לאותו חלק בתוכנה שדרכו מתנהלת ההתקשרות בין המשתמש למחשב ובחזרה
(שאם החלק הזה הוא מבוסס גרפיקה של כפתורים,חלונות,סרגלי הזזה וירטואליים וכד.
אז הוא גרפי).
למערכת ההפעלה של windows לדוגמא יש ממשק משתמש גרפי(אתה יכול ללחוץ על כפתורים וסימלונים וירטואליים על המסך והמחשב מגיב),
ולמערכת ההפעלה DOS לא.
בקשר לשאלה השנייה שלך,זה קשור לספציפיקות של שפת התיכנות,
ויזואל בייסיק בנויי כך שנורא כל ליצור כפתורים וירטואליים וכד.
וב-C++ זה מסובך יותר.
אבל לעומת זאת C++ נחשבת לשפת תיכנות חזקה יותר עם יותר אפשרויות.
יש מבין

?
אנדריי.