ÇнÀ¸ñÇ¥    1

ÇнÀÁÖÁ¦    1

¿¹½À³»¿ë    1

½Ç½À¹æ¹ý    1

°ú    Á¦    1

Áß¿äÇÔ¼ö    1

°´Ã¼¿Í Ŭ·¡½º

ÇнÀ¸ñÇ¥

Ŭ·¡½º¸¦ »ç¿ëÇÏ´Â ÀÌÀ¯¿Í ±× ¹æ¹ýÀ» ¹è¿î´Ù.

ÇнÀÁÖÁ¦

1.       Ŭ·¡½ºÀÇ Á¤ÀÇ

2.       Ŭ·¡½º ¸â¹öÀÇ ÂüÁ¶

3.       Ŭ·¡½º ÇÔ¼öÀÇ »ç¿ë

4.       private ¸â¹öÀÇ ÀԷ°ú ÂüÁ¶

¿¹½À³»¿ë

¿ì¸®°¡ ÇÁ·Î±×·¥À¸·Î ±¸ÇöÇÏ·Á´Â °ÍÀÇ ÇϳªÇϳª¸¦ °´Ã¼¶ó ÇÑ´Ù. ÀÌ °´Ã¼´Â Ŭ·¡½º·Î ±¸¼ºÇϰí, Ŭ·¡½º´Â º¯¼ö(mamber)¿Í ÇÔ¼ö(method)µéÀ» ¹­¾î¼­ ±¸¼ºÇÑ´Ù. À̸¦ ´Ù¸¥ Ŭ·¡½º¿¡¼­ ÂüÁ¶(public) ÇÒ ¼öµµ ÀÖ°Ô ÇÏ°í ±×·¸Áö ¾Ê°Ô(private) ÇÒ ¼öµµ ÀÖ´Ù.

½Ç½À¹æ¹ý

¸ñ    Â÷

1. Ŭ·¡½ºÀÇ Á¤ÀÇ

 

class Ŭ·¡½º¸í{

              private:

                            ¸â¹öº¯¼ö;

                            ¸â¹öÇÔ¼ö;

              public:

                            ¸â¹öº¯¼ö;

                            ¸â¹öÇÔ¼ö;

};

Ŭ·¡½º¸í °´Ã¼º¯¼ö;

 

 

 

 

 

 

 

 

 

 

publicÀ¸·Î ¼±¾ðÇÑ °ÍÀº ´Ù¸¥ Ŭ·¡½º¿¡¼­ ÂüÁ¶ÇÒ ¼ö ÀÖÀ¸³ª private·Î ¼±¾ðÇÑ °ÍÀº ÀÚ±â Ŭ·¡½º¿¡¼­ ¹Û¿¡ ÂüÁ¶ ÇÒ ¼ö ¾ø´Ù. ¸¸¾à À̸¦ ÂüÁ¶ÇÏ´Â ¹æ¹ýÀº µÚ¿¡ ¼³¸í ÇϰڴÙ.(public ÇÔ¼ö¸¦ ÅëÇØ ÂüÁ¶)

¾Æ·¡ ¿¹Á¦¿¡¼­ º¯¼ö c´Â publicÀ¸·Î ¼±¾ðµÇ¾î À־ (1)°ú °°ÀÌ ÀÔ·ÂÇÏ¸é µÈ´Ù. ±×·¯³ª privale·Î ¼±¾ðÇÑ a,b´Â °°Àº ¹æ¹ýÀ¸·Î ÇÏ¸é ¿À·ù°¡ ¹ß»ýÇÑ´Ù. ÀÌ´Â (3)°ú °°ÀÌ public ÇÔ¼ö¸¦ ÅëÇØ ÀÔ·ÂÇØ¾ß ÇÑ´Ù.

¿¹Á¦1: Ŭ·¡½ºÀÇ ¼±¾ð°ú »ç¿ë

Ŭ·¡½ºÀÇ ¼±¾ð°ú public, private ¸â¹öÀÇ ÀÔÃâ·ÂÀ» °øºÎÇÑ´Ù.

#include "stdafx.h"

#include "iostream.h"

 

class sample {

              private :

                             int a;

                             int b;

              public :

                             int c;

                             void pr();

                             void input(int x, int y);

             

};

 

void sample::pr()

{

              cout<<"a="<<a<<" b="<<b<<" c="<<c<<endl;

}

 

void sample::input(int x, int y)

{

              a=x;

              b=y;

}

 

int main(int argc, char* argv[])

{

              sample test;

 

              test.c=3; // (1) public ¸â¹öÀÇ ÀÔ·Â

              // test.a=1; test.b=2; ¿Í °°ÀÌ ÀÔ·ÂÇϸé error°¡ ¹ß»ýÇÑ´Ù. (2)

              test.input(1,2);        // (3) a,b´Â prevateÀ̹ǷΠ³»ºÎ ÇÔ¼ö¸¦ ÀÌ¿ëÇØ ÀÔ·Â

              test.pr();

              return 0;

}

a=1 b=2 c=3

 

óÀ½

°ú    Á¦

¾Õ¿¡ ±¸Á¶Ã¼¿¡¼­ ¼ºÀû ÇÁ·Î±×·¥À» Ŭ·¡½º¸¦ ÀÌ¿ëÇÏ¿© ÀÛ¼ºÇØ º¸ÀÚ.

¼ºÀûÀ» Ŭ·¡½ºÀÇ ¸â¹ö ÇÔ¼ö(Input, Calculate, Ouput)·Î ó¸®Çß´Ù.

ÀԷºο¡¼­´Â (5)¿¡¼­¿Í °°ÀÌ Àüü Çлý¼ö¸¦ ÀÐ°í ¸Þ·Î¸®¸¦ ÇÒ´çÇÑ ÈÄ¿¡ (7)¿¡¼­ ¸Þ¸ð¸®¸¦ free ½ÃŰ´Â µ¿ÀûÀ¸·Î ¸Þ¸ð¸®¸¦ ÇÒ´çÇÏ´Â ÇÁ·Î±×·¥À» ¸¸µé¾ú´Ù.

°úÁ¦1: Ŭ·¡½º¸¦ ÀÌ¿ëÇÑ ¼ºÀû ÇÁ·Î±×·¥¿¡¼­ ¼öÇÐ(math)¸¦ Ãß°¡Çϰí Çлý ¼ö¸¦ 10¸íÀ¸·Î ÇÏ¿© ¾Æ·¡ ÇÁ·Î±×·¥À» ¼öÁ¤ÇϽÿÀ.

¡°input.txt¡±´Â ¾Æ·¡¿Í °°´Ù.

5

10 20

30 40

50 60

70 80

90 100

#include "stdafx.h"

#include <stdio.h>

#include <malloc.h>

 

typedef struct list Man;

 

struct list{                            //(1)±¸Á¶Ã¼ÀÇ ¼±¾ð

              int kor;

              int eng;

              int sum;

              float ave;

};

 

class grade{                         //(2)Ŭ·¡½ºÀÇ ¼±¾ð

              public:

                             Man *init; //(3)±¸Á¶Ã¼ÀÇ ½ÃÀÛ ¹øÁö¸¦ Àü¿ª º¯¼ö·Î ÀúÀå

                             int nTotalStudent;    // Àüü Çлý ¼ö

                             void Input();

                             void Calculate();

                             void Output();

};

 

void grade::Input()                 //(4) ÀԷºÎ

{

              int i;

              Man *a;

              FILE *fp;

 

              fp=fopen("input.txt","r");

              fscanf(fp,"%d",&nTotalStudent);

              init = (Man *)malloc(sizeof(Man)*nTotalStudent);   //(5) µ¥ÀÌŸ ¸Þ¸ð¸® ÇÒ´ç

              a = init;

              for(i=0;i<nTotalStudent;i++) {

                             fscanf(fp,"%d %d",&a->kor,&a->eng);

                             a++;

              }

              fclose(fp);

}

 

void grade::Calculate()                         //(6) ¿¬»êºÎ

{

              int i;

              Man *a;

             

              a = init;

              for(i=0;i<nTotalStudent;i++) {

                             a->sum=a->kor+a->eng;

                             a->ave=(float)a->sum/2.;

                             a++;

              }

}

 

void grade::Output()                             //(7) Ãâ·ÂºÎ

{

              int i;

              Man *a;

 

              a = init;

              for(i=0;i<nTotalStudent;i++) {

                             printf("%d+%d=%d Æò±Õ:%f\n",a->kor,a->eng,a->sum,a->ave);

                             a++;

              }

}

 

void main(void)

{

              grade g;

 

              g.Input();

              g.Calculate();

              g.Output();

 

              free(g.init);             //(7) mallocÀ¸·Î ÀâÀº ¸Þ¸ð¸®¸¦ µ¹·Á ÁØ´Ù.

}

10+20=30 Æò±Õ:15.000000

30+40=70 Æò±Õ:35.000000

50+60=110 Æò±Õ:55.000000

70+80=150 Æò±Õ:75.000000

90+100=190 Æò±Õ:95.000000

Áß¿äÇÔ¼ö