Welcome
C++ in Urdu Language

Learn C++ in Urdu Language( CS201)

1- ویری ایبل کیا ہو تا ہے؟

جواب: ویر ایبل وہ باکس ہے جس میں ہم کوئی ویلیو کو محفوظ کرتے ہیں۔ویری ایبل میں ہمیشہ ایک ویلیو محفوظ ہوتی ہے۔مثال کے طور پر : 

   اس میں اب ایکس ویری ایبل ہے جس کو ہم نے ایکس کا نام دیا ہے اور 12 ویلیو ہے۔ X =12

 ڈیٹا ٹائپس کیا ہوتی ہیں اور کون کون سی ہیں؟-2

جواب:   ڈیٹا ٹائپس خاص قسم کی ویری ایبل ہیں جو پروگرام میں مختلف ویلیوز کا رزلٹ لینے کے لئے لیے جاتے ہیں۔ ان کی پانچ اقسام ہیں  جو کہ درج ذیل ہیں۔

 : اس ڈیٹا ٹائپ میں تما م نمبرز آتے ہیں۔INT(i)

:اس ڈیٹا ٹائپ میں اعشاریہ ویلیوز آتی ہیں۔Float(ii)

:اس ڈیٹا ٹائپ میں بھی اعشاریہ ویلیوز آتی ہیں۔Double(iii)

:  اس ڈیٹا ٹائپ میں ایک لفظ انگلش کا سٹور کیا جاتا ہے۔Char(iv)

  یہ مخصوص ڈیٹا ٹائپ ہے اس میں کوئی ویلیو واپس نہیں لی جاتی۔:Void(v)

سٹیٹ منٹ کیا ہوتی ہے اور اس کی کتنی اقسام ہیں؟-3

جواب:ایک سٹیٹ منٹ کسی پروگرام کے اندر تحریر کا  ایسا محموعہ ہے جو کہ کمپیوٹر کو اس تحریر ک مطابق کام کرنے پے مجبور کرتا ہے۔ اس کی تین اقسام ہیں جو کہ درج ذیل ہیں۔

:Expression Statement(i)

                ایکسپریشن سٹیٹ منٹ ایسی سٹیٹ منٹ کو کہتے ہیں جس میں کبھی بھی حسابی عمل کے بعد سیمی کولن موجود ہو اور ایکسپریشن میں موجود حسابی عمل کا کوئی نہ کوئی حل ضرور ہو نا چاہئے۔مثال کے طور پر:

A=3;

C=a+b;

++I;

: Compound Statement (ii)

کمپائونڈ سٹیٹ منٹ ایک سے زیادہ انفرادی سٹیٹ منٹس کا ایسا مجموعہ ہوتا ہے جس کو بریکٹس کے اندر محدود کیا گیا ہو۔ یہ انفرادی سٹیٹ منٹ بذات خود ایکسپریشن سٹیٹ منٹ کمپائونڈ سٹیٹ منٹ  یا کنٹرول سٹیٹ منٹ ہو سکتی ہے۔کمپائونڈ سٹیٹ منٹ کی مدد سے ہم سٹیٹ منٹس کو ایک دوسرے کے اندر رکھ سکتے ہیں۔ ایکسپریشن سٹیٹ منٹ کے برعکس کمپائونڈ سٹیٹ منٹ کا اختتام سیمی کولن پر نہیں ہوتا ۔ مثال کے طور پر:

{

Pi =3.141593;

Circumference =2.*radius;

Area=pi*radius*radius;

}

: Control Statement (iii)

کنٹرول سٹیٹ منٹس پروگرام میں خاص عوامل سر انجام دینے کے لئے ہوتی ہیں ان عوامل میں لاجیکل ٹیسٹ، لوپس اور برانچنگ شامل ہیں۔ان کے بارے میں لوپس اور فنکشن کے بارے میں بتائوں گا تفصیل سے فی الحال  مثال کے طور پر:

While (count<=n){

Cout<<“x= “;

Cin>>“%f”,&x;

++count;

}

 

 لوپس کیا ہوتی ہیں اور اس کی اقسام کون کون سی ہیں؟-4

جواب: لوپس کسی پروگرام کو مخصوص حصہ جس کو بار بار  استعمال کیا جائے ۔ لوپس کی تین اقسام ہیں جو کہ در ج ذیل ہیں۔

: While Loop (i)

وائل لوپ تب استعما ل کی جاتی ہے جب ہمار ے پاس ایگزٹ ویلیو معلوم نہ ہو۔ اگر ہم دس  مختلف ویلیوز لینا چاہیں تو وائل لوپ  کا استعما ل کریں گے۔ مثال کے طور پر:

While (test Expression)

{

    //codes

}

// C++ Program to compute factorial of a number

// Factorial of n = 1*2*3…*n

 

#include <iostream>

using namespace std;

 

int main()

{

    int number, i = 1, factorial = 1;

 

    cout << “Enter a positive integer: “;

    cin >> number;

   

    while ( i <= number) {

        factorial *= i;      //factorial = factorial * i;

        ++i;

    }

 

    cout<<“Factorial of “<< number <<” = “<< factorial;

    return 0;

}

 

 

: Do- While Loop (ii)

یہ لوپ وائل لوپ سے ملتی جلتی ہے۔ بس فرق یہ ہے کہ اس میں کوڈ کی باڈی پہلے لکھی جاتی ہے اور لوپ کی کنڈیشن بعد میں آتی ہے۔ اس طرح اس لو پ میں اگر کنڈیشن اور باڈی صحیح نہ ہو تو  کمپیوٹر ایک بار باڈی کو رن کروا دیتا ہے۔ اس کی مثا ل اور ایک پروگرام درج ذیل ہے آ پ دیکھ لیں۔

do

{

   // codes

}

While (test Expression);

پروگرام:

// C++ program to add numbers until user enters 0

 

#include <iostream>

using namespace std;

 

int main()

{

    float number, sum = 0.0;

   

    do {

        cout<<“Enter a number: “;

        cin>>number;

        sum += number;

    }

    while(number != 0.0);

 

    cout<<“Total sum = “<<sum;

   

    return 0;

}

 

: For Loop (iii)

فار لوپ بہت ہی پاپولر اور آسان سی لوپ ہے اور سب سے زیادہ استعما ل ہونے والی لوپ ہے ۔ اس لو پ میں اوپر دونوں لوپس کے فنکشنز آجاتے ہیں۔جس طر ح اس میں ویلیوز  میں اضافہ کیا جاتا اس طرح سی زبان میں تبدیلیاں کر کے اس کو   سی پلس پلس کا نام دیا گیا ہے۔ مثال اور پروگرام درج ذیل ہے۔ دیکھ لیں۔

For (initialization Statement; test Expression; update Statement)

{

       // codes

}

پروگرام:

// C++ Program to find factorial of a number

// Factorial on n = 1*2*3*…*n

 

#include <iostream>

using namespace std;

 

int main()

{

    int i, n, factorial = 1;

 

    cout << “Enter a positive integer: “;

    cin >> n;

 

    for (i = 1; i <= n; ++i) {

        factorial *= i;   // factorial = factorial * i;

    }

 

    cout<< “Factorial of “<<n<<” = “<<factorial;

    return 0;

}

 :IF-Else Condition

اگر ہم کو اپنے پروگرا م میں کو ئی شرط لگانی ہو یا کو ئی رول رکھنا ہو تو ہم  اف اور ایلس کی کنڈیشن کو استعمال کرتے ہیں۔اف کنڈیشن اور ایلس کنڈیشن ایک دوسرے کے برعکس ہوتی ہیں۔ دونو ں میں سے ایک کو  صحیح ورک کرنا ہوتا ہے۔ مزید مثال اور پروگرام سے دیکھ کر سمجھ لیں۔

if (testExpression) {

    // codes inside the body of if

}

else {

    // codes inside the body of else

}

 

 

 

 

پروگرام:

// Program to check whether an integer is positive or negative

// This program considers 0 as positive number

 

#include <iostream>

using namespace std;

 

int main()

{

    int number;

    cout << “Enter an integer: “;

    cin >> number;

 

    if ( number >= 0)

    {

        cout << “You entered a positive integer: ” << number << endl;

    }

   

    else

    {

        cout << “You entered a negative integer: ” << number << endl;

    }

 

    cout << “This line is always printed.”;

    return 0;

}

: Nested IF-Else Condition

نیسٹڈ کنڈیشن یا کمپائونڈ کنڈیشن  ایسی کنڈیشن ہوتی ہے جو پہلے سے موجود کنڈیشن  کے اندر اور کنڈیشن کا اضافہ کرتی ہے۔ مثال  اور پروگرام دیکھ کے سمجھ لیں۔

if (testExpression1)

{

   // statements to be executed if testExpression1 is true

}

else if(testExpression2)

{

   // statements to be executed if testExpression1 is false and testExpression2 is true

}

else if (testExpression 3)

{

   // statements to be executed if testExpression1 and testExpression2 is false and testExpression3 is true

}

.

.

else

{

   // statements to be executed if all test expressions are false

}

پروگرام:

// Program to check whether an integer is positive, negative or zero

 

#include <iostream>

using namespace std;

 

int main()

{

    int number;

    cout << “Enter an integer: “;

    cin >> number;

 

    if ( number > 0)

    {

        cout << “You entered a positive integer: ” << number << endl;

    }

    else if (number < 0)

    {

        cout<<“You entered a negative integer: ” << number << endl;

    }

    else

    {

        cout << “You entered 0.” << endl;

    }

 

    cout << “This line is always printed.”;

    return 0;

}

: Switch Statement

اس سٹیٹ منٹ میں مختلف گریڈ یا مختلف ویلیوز کو چیک  کیا جاتا ہے ۔ اس سٹیٹ منٹ میں ہر کنڈیشن کیس سے سٹارت ہوتی ہے ہو بریک پے ختم ہوتی ہے ہور سٹیٹ منٹ کے اختتام پے ڈیفالٹ  کنڈیشن لگا دی جاتی ہے۔مثال اور پروگرام کی مدد سے مزید سمجھ لیں۔

مثال:

switch (n)

​{

    case constant1:

        // code to be executed if n is equal to constant1;

        break;

 

    case constant2:

        // code to be executed if n is equal to constant2;

        break;

        .

        .

        .

    default:

        // code to be executed if n doesn’t match any constant

}

پروگرام:

// Program to built a simple calculator using switch Statement

 

#include <iostream>

using namespace std;

 

int main()

{

    char o;

    float num1, num2;

 

    cout << “Enter an operator (+, -, *, /): “;

    cin >> o;

 

    cout << “Enter two operands: “;

    cin >> num1 >> num2;

   

    switch (o)

    {

        case ‘+’:

            cout << num1 << ” + ” << num2 << ” = ” << num1+num2;

            break;

        case ‘-‘:

            cout << num1 << ” – ” << num2 << ” = ” << num1-num2;

            break;

        case ‘*’:

            cout << num1 << ” * ” << num2 << ” = ” << num1*num2;

            break;

        case ‘/’:

            cout << num1 << ” / ” << num2 << ” = ” << num1/num2;

            break;

        default:

            // operator is doesn’t match any case constant (+, -, *, /)

            cout << “Error! operator is not correct”;

            break;

    }

   

    return 0;

}

: Break and Continue Statement

بریک اور کانٹی نیو سٹیٹ منٹ بھی سوئچ سٹیٹ منٹ  کے طرح ہو تی ہے ایک جیسی۔ مزید مثال اور پروگرام کی مدد سے دیکھ کر سمجھ لیں۔

پروگرام درج ذیل ہے:

// C++ Program to demonstrate working of break statement

 

#include <iostream>

using namespace std;

int main() {

    float number, sum = 0.0;

 

    // test expression is always true

    while (true)

    {

        cout << “Enter a number: “;

        cin >> number;

       

        if (number != 0.0)

        {

            sum += number;

        }

        else

        {

            // terminates the loop if number equals 0.0

            break;

        }

 

    }

    cout << “Sum = ” << sum;

 

    return 0;

}

   

 

 

 

 

 

 

                                                                         فنکشن کیا ہوتا ہے  ؟-5

جواب: سٹیٹ منٹس کا ایسا مجموعہ جو ایک مخصوص مقصد کے تحت بنا کہ پروگرام میں کال یا رن کروایا جائے فنکشن کہلاتا ہے۔فنکشن کو مندرجہ ذیل طریقے سے ڈیفائن کیا جاتا ہے۔

#include <iostream>

void functionName()

{

    … .. …

    … .. …

}

 

int main()

{

    … .. …

    … .. …

 

    functionName();

   

    … .. …

    … .. …

}

 

                                                                    یوزر ڈیفائن کیا ہو تا ہے؟-6

جواب: یورز ڈیفائن ایسا فنکشن ہے جس میں ہم نمبروں ہا انٹیجرز کو جمع یا نفی یا ملٹی پلائی یا ڈیوائڈ کر سکتے ہیں۔ ایسا فنکشن کو یوزر ڈیفائن فنکشن کہتے ہیں۔مزید سمجھنے کے لئے ایک چھوٹا سا پروگرام دیکھ لیں۔

#include <iostream>

using namespace std;

 

// Function prototype (declaration)

int add(int, int);

 

int main()

{

    int num1, num2, sum;

    cout<<“Enters two numbers to add: “;

    cin >> num1 >> num2;

 

    // Function call

    sum = add(num1, num2);

    cout << “Sum = ” << sum;

    return 0;

}

 

// Function definition

int add(int a, int b)

{

    int add;

    add = a + b;

 

    // Return statement

    return add;

}

  کیا ہوتے ہیں؟Arrays -7

جواب:اریز ویری ایبل ہوتے ہیں۔ بس فرق اتنا ہے کہ عام ویری ایبل میں ایک ویلیو سٹور ہوتی ہے اور اریز میں ہم ویلیوز کی تعداد کو اپنی مرضی سے بڑھا اور کم کر سکتے ہیں۔اریز میں ایک بات یاد رکھنی ہے اور وہ ہے کہ اریز کے شروعات 0 سے  ہوتی ہے۔۔مثال اور پروگرام کی مدد سے آپ اس کو سہی سے سمجھ جائیں گے۔

مثال:

data_type array_name[array_size];

mark[0] is equal to 19

mark[1] is equal to 10

mark[2] is equal to 8

mark[3] is equal to 17

mark[4] is equal to 9

 

پروگرام:

#include <iostream>

using namespace std;

 

int main()

{

    int numbers[5], sum = 0;

    cout << “Enter 5 numbers: “;

   

    //  Storing 5 number entered by user in an array

    //  Finding the sum of numbers entered

    for (int i = 0; i < 5; ++i)

    {

        cin >> numbers[i];

        sum += numbers[i];

    }

   

    cout << “Sum = ” << sum << endl; 

   

    return 0;

}

 کیا ہوتا ہے؟Multi-Dimensional Arrays-8 

جواب:اریز کا ایسا مجمو عہ جو ایک سے زیادہ لائنز میں ویلیوز دیں ملٹی ڈیمنشنل اریز کہلاتا ہے۔ اس کی مثال اور ایک پروگرام درج ذیل ہے۔

مثال:

float x[3][4];

اس مثال میں ایکس 2 ڈیمنشن کو ظاہر کر رہا ہے۔ پہلے 3 روز بنا ئے گا پھر 4 کالم بنائے گا۔ درج ذیل تصویر کی طرح۔ 

 

 

 

پروگرام:

#include <iostream>

using namespace std;

 

int main()

{

    int test[3][2] =

    {

        {2, -5},

        {4, 0},

        {9, 1}

    };

 

    // Accessing two dimensional array using

    // nested for loops

    for(int i = 0; i < 3; ++i)

    {

        for(int j = 0; j < 2; ++j)

        {

            cou t<< “test[” << i << “][” << j << “] = ” << test[i][j] << endl;

        }

    }

 

    return 0;

}

 

 

  کا آپس میں تعلق کیسے بنایا جاتا ہے؟Arrays and Funtion-9

جواب:جیسا کہ آپ کو پتا ہے کہ فنکشن کیا ہوتا ہے اور اریز کا بھی ہم کو پتا چل گیا ہے۔ اب ہم ان کو آپس میں کیسے لنک کرتے ہیں آئیے مثال کی مدد سے سمجھتے ہیں۔

#include <iostream>

using namespace std;

 

void display(int marks[5]);

 

int main()

{

    int marks[5] = {88, 76, 90, 61, 69};

    display(marks);

    return 0;

}

 

void display(int m[5])

{

    cout << “Displaying marks: “<< endl;

 

    for (int i = 0; i < 5; ++i)

    {

        cout << “Student “<< i + 1 <<“: “<< m[i] << endl;

    }

}

 

 

 کیا ہوتے ہیں؟Pointers -10

جواب:میموری میں جہاں ویلیو سٹور ہوتی ہے اس کا ایک میموری ایڈریس بن جاتا ہے جس کو پوائنٹر کہتے ہیں۔یا یوں کہ لیں کہ ویلیوز کے ایڈریس جاننے کے لئے پوائنٹر استعما ل کیا  جاتا ہے۔اس کی مثال اور پروگرام سے مزید اس کو سمجھنے کی کوشش کرتے ہیں۔

مثال اور پروگرام :

#include <iostream>

using namespace std;

 

int main()

{

    int var1 = 3;

    int var2 = 24;

    int var3 = 17;

    cout << &var1 << endl;

    cout << &var2 << endl;

    cout << &var3 << endl;

}

 کیا ہوتے ہیں؟Pointes Veriables-11

جواب:ایسے ویرایبل جو دوسرے ویری ایبل کا میموری ایڈریس کو سٹور کرتے ہیں پوانٹرز ویری ایبل کہلاتے ہیں۔

int *p;

      OR,

int* p;

 کیا ہو تا ہے؟Dereference Operator -12

جواب:پوائنٹر کا تو ہم کو پتا چل گیا ہے کہ یہ میموری ایڈریس سٹور کرتے ہیں۔ ان کے علاوہ ایک ایسا پوانٹر بھی ہے جو دوسرے پوانٹر سے ویلیو بھی لیتا ہے ایسے پوانٹر کو ڈی ریفرینس آپریٹر کہتے ہیں۔مثال اور پروگرام  کی مد د سے سمجھتے ہیں۔

#include <iostream>

using namespace std;

int main() {

    int *pc, c;

   

    c = 5;

    cout << “Address of c (&c): ” << &c << endl;

    cout << “Value of c (c): ” << c << endl << endl;

 

    pc = &c;    // Pointer pc holds the memory address of variable c

    cout << “Address that pointer pc holds (pc): “<< pc << endl;

    cout << “Content of the address pointer pc holds (*pc): ” << *pc << endl << endl;

   

    c = 11;    // The content inside memory address &c is changed from 5 to 11.

    cout << “Address pointer pc holds (pc): ” << pc << endl;

    cout << “Content of the address pointer pc holds (*pc): ” << *pc << endl << endl;

 

    *pc = 2;

    cout << “Address of c (&c): ” << &c << endl;

    cout << “Value of c (c): ” << c << endl << endl;

 

    return 0;

}

                                  میں کیسے لنک ہوتا ہے؟Pointer and Arrays-13

جواب:پوائنٹر اور اریز کا لنک بھی فنکشن کی طرح ہوتا ہے اس میں جہا ں اریز سٹور ہو رہے ہوتے ہیں ان کا ایڈریس بھی میموری میں سٹور ہو رہا ہوتا ہے۔ مثال اور  پروگرام کی مدد سے ان کو سمجھنے کی کوشش کرتے ہیں۔

#include <iostream>

using namespace std;

 

int main()

{

    float arr[5];

    float *ptr;

   

    cout << “Displaying address using arrays: ” << endl;

    for (int i = 0; i < 5; ++i)

    {

        cout << “&arr[” << i << “] = ” << &arr[i] << endl;

    }

 

    // ptr = &arr[0]

    ptr = arr;

 

    cout<<“\nDisplaying address using pointers: “<< endl;

    for (int i = 0; i < 5; ++i)

    {

        cout << “ptr + ” << i << ” = “<< ptr + i << endl;

    }

 

    return 0;

}

 کیا ہوتی ہے اور اس کی اقسام کون کون سی ہیں؟Memory Allocation-14

جواب:میموری آلوکیشن کا مطلب ہے کہ میموری کی کیلکولیشن۔ اگر آپ کوئی پروگرام بنا رہے ہیں اور آ پ کو اس کے سائز کا پتہ نہیں ہے تو جو طریقہ استعما ل کیا جاتا ہے سائز پتہ کرنے کا اس کا میموری آلوکیشن کہتے ہیں۔اس کی اقسا م مندرجہ ذیل ہیں۔

:Malloc() (i)

اس میں میموری کی کیلکو لیشن کو پہلے بائٹس میں تبدیل کر کے ویلیو پوائنٹر کو دی جاتی ہے۔اس کی مثال اور پروگرام کی مدد سے سمجھنے کی کو شش کرتے ہیں۔

ptr = (cast-type*) malloc(byte-size)

:Calloc() (ii)

اس میں میموری کو اریز کا سائز پتا کرنے کے لئے استعما ل کیا جا تا ہےجس کی ابتداء صفر سےہوتی ہے اور ویلیو پوائنڑ کو واپس کر دی جاتی ہے۔ مثال میں سمجھنے کی کو شش کرتے ہیں۔

ptr = (cast-type*)calloc(n, element-size);

:Free() (iii)

اس میں پہلے دو میمور ی کلیکو لیشن کو تورنے اور ختم کرنے کے لئے استعما ل کیا جا تاہے۔ مثال درج ذیل ہے۔پہلا پروگرام مالک کا اور دوسرا کالک کا ہے۔

free(ptr);

#include <iostream>

using namespace std;

 

class Test

{

private:

    int num;

    float *ptr;

 

public:

    Test()

    {

        cout << “Enter total number of students: “;

        cin >> num;

       

        ptr = new float[num];

       

        cout << “Enter GPA of students.” << endl;

        for (int i = 0; i < num; ++i)

        {

            cout << “Student” << i + 1 << “: “;

            cin >> *(ptr + i);

        }

    }

   

    ~Test() {

        delete[] ptr;

    }

 

    void Display() {

        cout << “\nDisplaying GPA of students.” << endl;

        for (int i = 0; i < num; ++i) {

            cout << “Student” << i+1 << ” :” << *(ptr + i) << endl;

        }

    }

   

};

int main() {

    Test s;

    s.Display();

    return 0;

}

 

 

:Realloc() (iv)

اس کی مدد سے میمور ی کا سائز دوبارہ بنا یا  جاتا ہے۔                      

کیا ہوتے ہیں اور ان کو استعما ل کیسےکیا جاتا ہے؟Strings -15

جواب:سی زبان میں انگلش کے کریکٹر کو سٹرنگ کہتے ہیں۔ سٹرنگ سنگل کریکٹر ہو تا ہے۔ اس کو آپ اریز میں استعمال کر سکتے ہیں۔ اتنا ضرور یاد رکھنا ہے کہ آپ سٹرنگ کو صفر سے ڈیوائڈ کرتے ہیں۔ اس کی مثال اور پروگرام درج ذیل ہیں ان کی مدد سے اس کو سمجھنے کی کوشش کرتے ہیں۔

سٹرنگ لکھنے کی مثال دیکھ لیں۔

char str[] = “C++”;

char str[4] = “C++”;

    

char str[] = {‘C’,’+’,’+’,’\0′};

 

char str[4] = {‘C’,’+’,’+’,’\0′};

 

اب پروگرام دیکھ لیں کے کس طرح ہم سٹرنگ کو اریز کے ساتھ استعما ل کر سکتے ہیں۔

#include <iostream>

using namespace std;

 

int main()

{

    char str[100];

 

    cout << “Enter a string: “;

    cin >> str;

    cout << “You entered: ” << str << endl;

 

    cout << “\nEnter another string: “;

    cin >> str;

    cout << “You entered: “<<str<<endl;

 

    return 0;

}

 فنکشن میں سٹرنگ کو کیسے استعما ل کیا جا تاہے؟-16

جواب: فنکشن کو سٹرنگ کے ساتھ با لکل ایسے پاس کیا جاتا ہے جیسے اریز اور سٹرنگ کو پاس کیا جاتا ہے۔ مثال کے کو سمجھنے کے لئے پروگرام کو دیکھتے ہیں۔

#include <iostream>

using namespace std;

 

void display(char s[]);

 

int main()

{

    char str[100];

    string str1;

 

    cout << “Enter a string: “;

    cin.get(str, 100);

 

    cout << “Enter another string: “;

    getline(cin, str1);

 

    display(str);

    display(str1);

 

    return 0;

}

 

void display(char s[])

{

    cout << “You entered char array: ” << s <<;

}

 

void display(string s)

{

    cout << “You entered string: ” << s << endl;

}

 

 

 

 

 کیا ہوتی ہے اور اس کی پروگرامنگ کیسے کی جاتی ہے؟Structures-17

جواب: سٹرکچرز مختلف قسم کے ڈیٹا ٹائپس کے مختلف ڈیٹا کا اکیلا نام کا مجوعہ کہلاتا ہے۔سٹرکچرز کو پروگرامنگ میں درج ذیل انداز میں ڈیفائن کیا جاتا ہے۔

struct Person

{

    char name[50];

    int age;

    float salary;

};

مزید پروگرام میں سمجھتے ہیں اس کو:

#include <iostream>

using namespace std;

 

struct Person

{

    char name[50];

    int age;

    float salary;

};

 

int main()

{

    Person p1;

   

    cout << “Enter Full name: “;

    cin.get(p1.name, 50);

    cout << “Enter age: “;

    cin >> p1.age;

    cout << “Enter salary: “;

    cin >> p1.salary;

 

    cout << “\nDisplaying Information.” << endl;

    cout << “Name: ” << p1.name << endl;

    cout <<“Age: ” << p1.age << endl;

    cout << “Salary: ” << p1.salary;

 

    return 0;

}

 کو کیسے ایک ساتھ ڈیفا ئن کیا جاتا ہے؟Structures & Functions-18

جواب: سٹرکچر ویری ایبل فنکشن کے آرگومنٹس کو نارمل انداز میں پاس کر تا ہے اور اس طرح  سٹرکچر اور فنکشن کو ایک ساتھ  ڈیفائن کیا جاتا ہے۔مثال کے مدد سے مزید سمجھتے ہیں۔

#include <iostream>

using namespace std;

struct Person

{

    char name[50];

    int age;

    float salary;

};

 

void displayData(Person);   // Function declaration

 

int main()

{

    Person p;

 

    cout << “Enter Full name: “;

    cin.get(p.name, 50);

    cout << “Enter age: “;

    cin >> p.age;

    cout << “Enter salary: “;

    cin >> p.salary;

 

    // Function call with structure variable as an argument

    displayData(p);

 

    return 0;

}

 

void displayData(Person p)

{

    cout << “\nDisplaying Information.” << endl;

    cout << “Name: ” << p.name << endl;

    cout <<“Age: ” << p.age << endl;

    cout << “Salary: ” << p.salary;

}

 کو ایک ساتھ ڈیفا ئن کیا جا سکتا ہے ؟Pointers & Structures-19

جواب:پوائنٹرز ایک ویری ایبل  بنا تا ہے  سوائے (انٹیجر،فلوٹ، ڈبل وغیرہ) لیکن پوائنٹر سٹرکچرز کے لیے یو زر ڈیفا ئن بناتا ہے۔ مثال کی مدد سے مزید سمجھتے ہیں۔

#include <iostream>

using namespace std;

 

struct temp {

    int i;

    float f;

};

 

int main() {

    temp *ptr;

    return 0;

}

مزید مدد کے لئے:

#include <iostream>

using namespace std;

 

struct Distance

{

    int feet;

    float inch;

};

 

int main()

{

    Distance *ptr, d;

 

    ptr = &d;

     cout << “Enter feet: “;

    cin >> (*ptr).feet;

    cout << “Enter inch: “;

    cin >> (*ptr).inch;

 

    cout << “Displaying information.” << endl;

    cout << “Distance = ” << (*ptr).feet << ” feet ” << (*ptr).inch << ” inches”;

 

    return 0;

}

 کیا ہوتی ہیں اور یہ کس کام  آتی ہیں؟Classes -20

جواب: ایسی سٹیٹ منٹس کا مجموعہ جو کہ کچھ یوزر کے لئے اور کچھ یوزر سے چھپا کے رکھا جائے کلاس کہلاتا ہے۔ کلاسسز میں کلاس نام ہوتا ہے اور اس کے دو حصے ہوتے ہیں۔ ایک پرائیویٹ اور ایک پبلک۔ آ پ یہ بات ذہیں میں رکھیں کے کلاس کی ڈیفالٹ حالت پرائیویٹ ہوتی ہے۔اب مثال اور چھوٹے پروگرام کی مدد سے مزید کلاسسز کو سمجھتے ہیں۔

class className

   {

   // some data

   // some functions

   };

پروگرام:

class Test

{

    private:

        int data1;

        float data2; 

 

    public: 

        void function1()

        {   data1 = 2;  }

 

        float function2()

        {

            data2 = 3.5;

            return data2;

        }

   };

 کیا ہوتا ہے اور یہ  کلا س کے لئے کیوں ضروری ہے؟Object -21

جواب: جب ہم کو ئی کلاس ڈیفائن کرتے ہیں  تو اس کے فنکشن کو استعمال کرنے کے لئے  ہمیں کو ئی میموری نہیں دی جاتی تو ان فنکشنز کو استعمال کرنے کے لئے ہمیں اوبجیکٹ ویری ایبل بنانا پڑتا ہے۔اوبجیکٹ کی باڈی درج ذیل ہے۔

className objectVariableName;

پروگرام:

class Test

{

    private:

        int data1;

        float data2; 

   public: 

        void function1()

        {   data1 = 2;  }

     float function2()

        {

            data2 = 3.5;

            return data2;

        }

   };

int main()

{

    Test o1, o2;

}

  کیا ہو تاہے؟Constructor-22

جواب: کنسٹرکٹر ایک سپیشل قسم کا  ویری ایبل ہوتا ہے جو ڈیٹا ممبر فنکشن  کے لئے استعما ل ہوتا ہے جو اوبجیکٹ بنا تے وقت خود بن جاتا ہے۔مثال کی مدد سے سمجھ لیں کے کنسٹرکٹر کیسے ورک کرتا ہے۔

temporary()

{

   x = 5;

   y = 5.5;

}

// This method is not preferred.

 

 

 

0 0 votes
Article Rating

Leave a Reply

0 Comments
Inline Feedbacks
View all comments
%d bloggers like this: