1
சி++ -ல் கன்ஸ்ட்ரக்டர்.


கன்ஸ்ட்ரக்டர் என்பது ஆப்ஜெக்டை தொடக்க மதிப்பிருத்தப் பயன்படும் சிறப்பு மெம்பர் ஃபங்க்சன் ஆகும்.ஒரு கிளாஸிற்கு ஆப்ஜெக்ட் உருவாக்கும் பொழுது கன்ஸ்ட்ரக்டர் தானாக அழைக்கப்படுகின்றது.
விதிகள்:
1.      கன்ஸ்ட்ரக்டர் பெயரானது கிளாஸின் பெயராகவே இருக்க வேண்டும்.
2.      ரிடர்ன் டைப்பை குறிப்பிடக்க் கூடாது.
சிண்டாக்ஸ்:
Class class_name
{
Private:
__________________
_________________                                           
Public:
Class_name()
{
____________________________
____________________________
}
Protected:
______________________________
________________________________
};
ஒரு கிளாஸிற்கு ஆப்ஜெக்ட் உருவாக்கும் பொழுது கன்ஸ்ட்ரக்டர் தானாகவே அழைக்கப்படுகின்றது.
சான்று நிரல்-1:
#include <iostream>

using namespace std;
class exam
{
private:
    int sno,mark1,mark2;
public:
    exam()
    {
        sno=mark1=mark2=0;
    }
    void showdata()
    {
        cout<<"sno: "<<sno<<" mark1: "<<mark1<<" mark2: "<<mark2<<endl;

    }
    void getdata()
    {
        cout<<"Enter sno";
        cin>>sno;
        cout<<"Enter two marks";
        cin>>mark1>>mark2;
    }




};
int main()
{
    exam e;
    e.showdata();
    e.getdata();
    e.showdata();
    return 0;
}
வெளியீடு:
sno: 0 mark1: 0 mark2: 0
Enter sno101
Enter two marks85 95
sno: 101 mark1: 85 mark2: 95

Process returned 0 (0x0)   execution time : 12.308 s
Press any key to continue.
ஓவர் லோடடு கன்ஸ்ட்ரக்டர்:
ஓரு ஃபங்க்சனை எப்படி ஓவர் லோட் செய்ய முடியுமோ அதே போல் ஒரு கன்ஸ்ட்ரக்டரையும் ஓவர் லோட் செய்யலாம். அதாவது ஒரு கிளாஸில் ஒன்றிற்க்கு மேற்பட்ட கன்ஸ்ட்ரக்டர் இருக்கும்.அதற்கு அனுப்ப்படும் பாராமீட்டரைப் பொருத்து அதன் அழைப்பு நிகழும்.
சான்று நிரல்-2:
#include <iostream>

using namespace std;
class exam
{
private:
    int sno,mark1,mark2;
public:
    exam()
    {

        sno=mark1=mark2=0;

    }
    exam(int a,int b,int c)
    {

        sno=a;
        mark1=b;
        mark2=c;
    }
    void showdata()
    {
        cout<<"sno: "<<sno<<" mark1: "<<mark1<<" mark2: "<<mark2<<endl;
    }
};
int main()
{
    exam e1;
    exam e2(101,90,95);
    e1.showdata();
    e2.showdata();
    return 0;
}
வெளிய%

Leave a comment