יום שלישי, 25 באפריל 2017

מ C אל ++C

ההבדלים בין C ל ++C

אחרי שלמדנו שפת C, נתחיל ללמוד ++C.

ישנם מספר הבדלים בין C ל ++C. חלקם רק בשמות הפונקציות והספריות, וחלקם בכך ששפת ++C
היא שפה מונחת עצמים (Object Oriented).



הבדלים חשובים:

C
על מנת ליצור ב Visual Studio תוכנית היה עלינו להשמיט את ה "pp" מסיומת הקובץ ("Source.c" במקום "Source.cpp").

++C
ב ++C לא נשמיט.







C
השתמשנו בספרייה:  <stdio.h>

++C
נשתמש בספרייה:  <iostream>
ואחריה נכתוב את השורה:
using namespace std;




C
השתמשנו בפונקציה:  ( )scanf

++C
נשתמש פקודה:  cin
כך:
#include <iostream>
using namespace std;
void main() {
 int x;
 cin >> x;
}





C
השתמשנו בפונקציה:  ( )printf

++C
נשתמש פקודה:  cout
כך:

#include <iostream>
using namespace std;
void main() {
 int x=5, y=6;
 cout <<"X: " << x << "Y: " << y;
}
למרות שהפונקציות של שפת C כן יעבדו גם ב ++C.




֎  cin ו cout עובדות עם כל סוגי המשתנים, ללא צורך בציון סוג המשתנה. אפילו במערכים.
דוגמה 1:
#include <iostream>
using namespace std;
 
void main() {
 int x=8;
 double d=20.54;
 char s[]={"Shalom"};
 cout<<"Number x: "<<x<<"  Number d: "<<d<<"  Name:  "<<s <<"\n";
}
דוגמה 2:
#include <iostream>
using namespace std;
 
void main() {
 int x;
 double d;
 char s[20];
 cout << "Enter number x, number d, and name s!\n";
 cin>>x>>d>>s;
 cout<<"Num x: "<<x <<"   Num d: "<<d <<"   Name s: "<<s <<"\n";
}


שימו לב שהפקודה cout מבחינה בין מה שאמור להיות תו למה שאמור להיות מספר
-לכן אפילו אם נכתוב: 'n\'
הפקודה תתייחס לזה כתו ירידת שורה. בניגוד לשפת C בה תו שיש מסביבו גרשים יהיה תמיד שווה לערך אסקי שלו. ואופן ההדפסה תלוי בנו (הסימן d% או c%).
-בנוסף ערכים ששמורים במשתנה מסוג char תמיד יודפסו כתו ולא כמספר. אלא אם נוסיף אליהם אופרטורים מתמטיים (+- וכו').
דוגמאות:
#include <iostream>
using namespace std;
 
void main(){
 char s='A',e=68;
 int i='A';
 cout<<'\n';       // ירד שורה
 cout<<'\n'+'\n';  // כאן אנחנו כופים עליו לחבר את הערך האסקי. לכן יציג - 20
 cout<<'\n';       // ירד שורה
 cout<<s<<"\n";    // וירד שורה A ידפיס את התו
 cout<<i<<"\n";    // וירד שורה A ידפיס את המספר 65 שהוא הערך אסקי של
 cout<<e<<"\n";    // וירד שורה .D ידפיס את התו שהקוד אסקי שלו הוא 68 - התו
}







C
ניתן להגדיר משתנים רק בתחילת בלוק של פונקציות.

++C
ניתן להגדיר משתנים בכל מקום בפונקציה.
לדוגמה:
#include <iostream>
using namespace std;

void main() {
 cout<<5<<"\n";
 int x=8;
 cout<<x<<"\n";
}





C
לא קיים משתנה מסוג בוליאני (true/false). הכי קרוב היה באמצעות enum.

++C
קיים משתנה בוליאני.
כך:  ;bool bb = true









ראו גם: וובמאסטר

אין תגובות:

הוסף רשומת תגובה