💻프로그래밍 내용 정리/C++17

[C++ 1.3.2] 클래스 사용하기

이이프 2022. 8. 17. 17:48
728x90

다음 코드는 이전 장의 AirlineTicket 클래스를 사용하는 에를 보여주고 있다.

여기서 AirlineTicket 객체를 하나는 스택 기반으로, 다른 하나는 힙 기반으로 생성한다.

#include <iostream>
#include "AirlineTicket.h"

using namespace std;

int main()
{
	AirlineTicket myTicket; // 스택 기반 AirlineTicket
	myTicket.setPassengerName("Sherman T. Socketwrench");
	myTicket.setNumberOfMiles(700);
	double cost = myTicket.calculatePriceInDollars();
	cout << "This ticket will cost $" << cost << endl;

	// 스마트 포인터를 사용한 힙 기반 AirlineTicket
	auto myTicket2 = make_unique<AirlineTicket>();
	myTicket2->setPassengerName("Laudimore M. Hallidue");
	myTicket2->setNumberOfMiles(2000);
	myTicket2->setHasEliteSuperRewardsStatus(true);
	double cost2 = myTicket2->calculatePriceInDollars();
	cout << "This other ticket will cost $" << cost2 << endl;
	// 여기서는 myTicket2가 자동으로 삭제되므로 코드로 작성할 필요 없다.
	
	
	// 스마트 포인터를 사용하지 않는 힙 기반 AirlineTicket(바람직하지 않은 방식)
	AirlineTicket* myTicket3 = new AirlineTicket();
	myTicket3->setPassengerName("IeF");
	cout << "PassengerName : " << myTicket3->getPassengerName() << endl;
	// ... 티켓 3을 사용한다.
	delete myTicket3; // 힙 객체를 삭제한다.
}

이 예제를 통해 객체를 생성하고 클래스를 사용하는 문법을 볼 수 있다.