|
"객체지향 이야기"의 저자 전병선님이 작성하신 예제를 줄여 올림니다.
class를 이해하는데 도움이 되지 않을까 해서요...
/*
// 1.구조가 복잡한 프로그램의 예
#include <stdio.h>
void scanNumber(int* n)
{
scanf("%d", n);
}
void printNumber(int n)
{
printf("%d", n);
}
void main()
{
int number;
scanNumber(&number);
printNumber(number);
}
*/
/*
// 2.전역변수를 사용한 프로그램의 예
#include <stdio.h>
int number;
void scanNumber()
{
scanf("%d", &number);
}
void printNumber()
{
printf("%d", number);
}
void main()
{
scanNumber();
printNumber();
}
*/
/*
// 3.구조체를 사용한 세련된 구조의 프로그램의 예
#include <stdio.h>
typedef struct _Number {
int number;
} Number;
void scanNumber(Number* num)
{
scanf("%d", &num->number);
}
void printNumber(Number num)
{
printf("%d", num.number);
}
void main()
{
Number num;
scanNumber(&num);
printNumber(num);
}
*/
/*
// 4.구조체로 객체지향 개념을 사용한 프로그램의 예
#include <stdio.h>
typedef struct _Number {
int number;
void (*scanNumber)(struct _Number*);
void (*printNumber)(struct _Number);
} Number;
void scanNumber(Number* num)
{
scanf("%d", &num->number);
}
void printNumber(Number num)
{
printf("%d", num.number);
}
void main()
{
Number num;
num.scanNumber = scanNumber;
num.printNumber = printNumber;
num.scanNumber(&num);
num.printNumber(num);
}
*/
///*
// 5.객체지향 개념을 사용한 C++ 프로그램의 예
#include <stdio.h>
class MyClass
{
int number;
public:
void scanNumber();
void printNumber();
};
void MyClass::scanNumber()
{
scanf("%d", &number);
}
void MyClass::printNumber()
{
printf("%d", number);
}
void main()
{
MyClass mc;
mc.scanNumber();
mc.printNumber();
}
//*/
|