- Class
구조체가 확장된 개념으로 객체를 만들기 위한 설계도
추상화 : class 설계 하는 과정
객체 : class를 이용해 만들어낸 실체
┏ 구조체 - 구조체 변수
┗ class - 객체
class 선언
class class명
{
자료형 변수명;
함수 ()
{
}
};
객체 생성
class명 객체명 ;
#include <iostream>
#include <cstring>
class Member
{
public:
char name[10], tel[15];
int age, fee;
void SetData(char* _name, int _age, char * _tel, int _fee)
{ strcpy(name,_name);
age = _age;
strcpy(tel,_tel);
fee = _fee;
}
};
void main(void)
{ Member mb;
mb.SetData("홍길동",20,"010-123-1234",30000);
std::cout<<mb.name<<" "<< mb.age<<" "
<<mb.tel<< " "<<"\\"<<mb.fee<<std::endl;
}
객체지향 프로그래밍 작성 순서
1. 대상 선정 - > class 작성 준비
2. 속성 파악 - > 멤버 변수 선언
3. 기능 파악 - > 멤버 함수 작성
ex : 계좌관리 프로그램
1. 대상선정
계좌 객체
회원 객체
2. 속성 파악
계좌 객체 -> 계좌번호 금액 회원이름
3. 기능 파악
계좌 생성
입금
출금
계좌 조회
#include <iostream>
#include <cstring>
#include <iomanip>
#include <conio.h>
int c;
typedef class Member
{
public:
int accountNumber;
int money;
char memberName[10];
void SetAccount()
{
std::cout<<"계좌 번호를 적어주세요"<<std::endl;
std::cin>>accountNumber;
std::cout<<"이름을 적어주세요"<<std::endl;
std::cin>>memberName;
std::cout<<"금액을 적어주세요"<<std::endl;
std::cin>>money;
}
void InputMoney()
{ int inmon;
std::cout<<"금액을 적어주세요"<<std::endl;
std::cin>>inmon;
money = money + inmon;
}
void OutputMoney()
{
int outmon;
std::cout<<"금액을 적어주세요"<<std::endl;
std::cin>>outmon;
if(money>outmon)
money = money - outmon;
else
std::cout<<"잔액이 부족합니다"<<std::endl;
}
void DisplayAccount()
{
std::cout<<std::setw(23)<<"고객 이름"<<std::setw(23)<<"계좌 번호"<<std::setw(23)<<"잔액"<<std::endl;
std::cout<<std::setw(23)<<memberName<<std::setw(23)<<accountNumber<<std::setw(23)<<money<<std::endl<<std::endl;
}
}mb;
void main()
{
mb * pMa;
pMa = new mb;
while(1)
{
std::cout<<"원하는 기능을 눌러주세요"<<std::endl;
std::cout<<"1. 계좌 등록"<<std::endl;
std::cout<<"2. 입금"<<std::endl;
std::cout<<"3. 출금"<<std::endl;
std::cout<<"4. 계좌 조회"<<std::endl;
std::cout<<"5. 종료"<<std::endl;
std::cin>>c;
system("cls");
switch(c)
{
case 1 : pMa->SetAccount(); break;
case 2 : pMa->InputMoney(); break;
case 3 : pMa->OutputMoney(); break;
case 4 : pMa->DisplayAccount(); break;
case 5 : {delete pMa; exit(1); }
}
system("cls");
}
}
'[ IT ] > C++, 자료구조' 카테고리의 다른 글
C++ 전자레인지 만들기 (0) | 2015.06.24 |
---|---|
C++ Access 지정 / 생성자 / 소멸자 /This 포인터 (0) | 2015.06.24 |
C++ 은행 계좌 관리 프로그램 (0) | 2015.06.24 |
C++ 매크로 / Inline 함수 / 동적 할당 (0) | 2015.06.24 |
C++ 오버로딩 / 디폴트 매개변수 / 계산기 만들기 (0) | 2015.06.24 |