728x90
// 이름을 묻고, 인사를 건넴
#include <iostream>
#include <string>
using namespace std;
int main()
{
	cout << "Please enter your first name: ";
	string name;
	cin >> name;
	
	// 출력하려는 메시지를 구성
	const string greeting = "Hello, " + name + "!";
	
	// 인사말의 두 번째 행과 네 번째 행
	const string spaces(greeting.size(), ' ');
	const string second = "* " + spaces + " *";

	// 인사말의 첫번째 행과 다섯 번째 행
	const string first(second.size(), '*');

	cout << endl;
	cout << first << endl;
	cout << second << endl;
	cout << "* " << greeting << " *" << endl;
	cout << second << endl;
	cout << first << endl;

	return 0;
}

 

greeting.size 는 맴버함수 member function를 호출하는 방법입니다.

 

greeting 이라는 객체는 size 라는 구성요소가 있습니다. 

 

이 구성요소는 함수이므로 값을 얻으려고 호출할 수 있습니다

 

greeting 은 std::string 타입이며 greeting.size() 로 greeting의 문자 개수를 나타내는 정수를 얻을 수 있습니다.

 

상수 spaces 의 정의를 살펴봅시다.

 

정수값과 문자값을 받아 정수값만큼의 횟수로 문자값을 복사해 문자열을 만듭니다

 

예를 들어 std::string stars(10, '*); 라고 변수 stars 를 정의한다면 stars.size() 는 10이고 stars 는 ********** 이라는 값을 갖습니다.

 

 

 

string 변수는 다음 세가지 방법중 한가지로 정의 할수 있습니다.

 

 

const 로 상수를 정의하면 소멸할때 까지 값을 바꾸지 않겠다는 의미입니다.

 

나중에 값을 바꾸지 못하므로 정의하면서 반드시 초기화 해야합니다.

 

 

728x90