★ 3장_1번예제
#include <iostream>
using namespace std;
int main ( )
{
int a=123;
cout << "a> 100 의 결과" << (a>100) << endl;
return 0;
}
● 주석 & 과정
- a에 123으로 초기화
- a==123 이고 a가 100보다 크기 때문에 조건 성립 결과는 true 즉 1
● 결과 & 스크린샷
★ 3장_2번예제
#include <iostream>
using namespace std;
int main()
{
int a=100;
cout << "정수 입력:";
cin>> a;
if (a>100)
cout << a << "는 100 보다 크다" << endl;
return 0;
}
● 주석 & 과정
- a를 100으로 초기화
- a에 입력
- a가 100보다 크다면의 조건이 성립 하면 밑에 문장이 실행됨
● 결과 & 스크린샷
★ 3장_3번예제
#include <iostream>
using namespace std;
int main()
{
int a;
cout << "정수 입력";
cin >> a;
if (a>100)
{
cout << "a의 값" << a << endl;
cout << a << "는 100 보다 크다" << endl;
}
cout << "즐거운 C++ 프로그램을 증료합니다 !!"<<endl;
return 0;
}
● 주석 & 과정
- a에다가 입력받음
- a가 100보다 크다면의 조건이 맞는다면 아래 문장이 실행됨.
- 괄호를 넣음으로서 지역이 생겼다.
- if의 지역의 끝인셈
- 마지막 문구를 넣음으로 좀더 친절한 프로그램이 됨
● 결과 & 스크린샷
★ 3장_4번예제
#include <iostream>
using namespace std;
int main ( )
{
int a;
cout << "정수 입력:";
cin>> a;
if (a>100)
cout << " 100 보다 크다" << endl;
else
cout << "100 보다작다" << endl;
return 0;
}
● 주석 & 과정
- a에 입력 받는다.
- a가 100보다 크다면의 조건이 성립하면 아래문장이 실행
- 위의 if 조건에 해당되지 않는다면 이 아래의 문장이 실행
● 결과 & 스크린샷
★ 3장_5번예제
#include <iostream>
using namespace std;
int main ()
{
int a;
cout << "정수 입력:";
cin >> a;
if (a>100)
cout << "100 보다크다" << endl;
else
{
if (a<100)
cout << "100 보다 작다" << endl;
else
cout << "100 이다" << endl;
}
return 0;
}
● 주석 & 과정
- 입력받는다 a에
- a가 100보다 크다면 아래 문장 실행
- 위 조건이 해당사항 없음 아래 문장 실행
- a가 100보다 작다면 아래문장 실행
- 위조건이 해당사항 없으면 아래 문장 실행 하지만 위에 100보다 크지도 않고 100보다 작지도 않기 때문에 이 소스가 의도한것처럼 결국 나머지 경우에수는 100 밖에 없기 때문에 100이라 당당히 출력한다.
● 결과 & 스크린샷
★ 3장_6번예제
#include <iostream>
using namespace std;
int main()
{
int jumsu;
cout << "점수 입력:";
cin >> jumsu;
if (jumsu<=100 && jumsu>=90)
cout << "당신의 성적은 A입니다" << endl;
else
{
if (jumsu<=89 && jumsu>=80)
cout << "당신의 성적은 B입니다" << endl;
else
{
if (jumsu<=79 && jumsu>=70)
cout << " 당신의 성적은 C입니다" << endl;
else
{
if (jumsu<=69 && jumsu>=60)
cout << " 당신의 성적은 D입니다"<< endl;
else
cout << "당신의성적은 F입니다" << endl;
}
}
}
return 0;
}
● 주석 & 과정
- jumsu에 입력받음
- jumsu가 100보다 작거나 같지만 90보단 크거나 같다 즉 90~100 이라면 아래 문장 실행
- 그게 아니라면 아래 문장 실행 즉 90아래라는 소리
- jumsu가 89보다 작거나 같고 80보단 크거나 같을때 즉 80~89 이라면 아래 문장 실행
- 그게 아니라면 아래문장 실행 즉 80아래라는 소리
- jumsu가 79보다 작거나 같고 70보단 크거나 같다면 즉 70~79이라면 아래문장 실행
- 그게 아니라면 아래문장 실행 즉 70아래라는 소리
- jumsu가 69보다 작거나 같고 60보단 크거나 같을때 즉 60~69 이면 아래문장 실행
- 그게아님 아래 실행 즉 F 학점이란 소리
- 이것의 형태는 if 안에 if 를 쓴 형태임. 좀 복잡해질 수 있음
● 결과 & 스크린샷
★ 3장_7번예제
#include <iostream>
using namespace std;
int main ()
{
int jumsu;
cout << " 접수 입력:";
cin>> jumsu;
if ( jumsu<=100 && jumsu>= 90)
cout <<" 당신의 성적은 A입니다 " << endl;
else if (jumsu<=89 && jumsu>=80)
cout << " 당신의 성적은 B입니다 " << endl;
else if (jumsu<=79 && jumsu>=70)
cout << " 당신의 성적은 C입니다 " << endl;
else if (jumsu<=69 && jumsu>=60)
cout << " 당신의 성적은 D입니다 " << endl;
else
cout << " 당신의 성적은 F입니다 " << endl;
return 0;
}
● 주석 & 과정
- jumsu가 100보다 작거나 같지만 90보단 크거나 같다 즉 90~100 이라면 아래 문장 실행
- 위 조건이 아니고 jumsu가 89보다 작거나 같고 80보단 크거나 같을때 즉 80~89 이라면 아래 문장 실행
- 위 조건이 아니고 jumsu가 79보다 작거나 같고 70보단 크거나 같다면 즉 70~79이라면 아래문장 실행
- 위 조건이 아니고 jumsu가 69보다 작거나 같고 60보단 크거나 같을때 즉 60~69 이면 아래문장 실행
- 위에 모든 조건에 해당사항 없음 아래 문장 실행
- else if 를 사용한 형태 가독성이 한층더 좋아졌다.
● 결과 & 스크린샷
★ 3장_8번예제
#include <iostream>
using namespace std;
int main ( )
{
int jumsu;
cout << "접수 입력:";
cin>>jumsu;
if(jumsu>100 || jumsu<0)
cout << "잘못된 점수 입력입니다" << endl;
else if (jumsu>=90)
cout << "당신의 성적은 A입니다" << endl;
else if (jumsu>=80)
cout << "당신의 성적은 B입니다" << endl;
else if (jumsu>=70)
cout << " 당신의 성적은 C입니다" << endl;
else if (jumsu>=60)
cout << " 당신의 성적은 D입니다" << endl;
else
cout << " 당신의 성적은 F입니다" << endl;
return 0;
}
● 주석 & 과정
- 점수가 100 이상이거나 0이하이면 아래문장을 실행
- 위에 조건이 아니고 점수가 90보다 크거나 같다면 아래 문장을 실행
- 위에 조건이 아니고 점수가 80보다 크거나 같다면 아래 문장을 실행
- 위에 조건이 아니고 점수가 70보다 크거나 같다면 아래 문장을 실행
- 위에 조건이 아니고 점수가 60보다 크거나 같다면 아래 문장을 실행
- 위에 모든 조건이 해당사항 없음 아래 문장 실행
● 결과 & 스크린샷
★ 3장_9번예제
#include <iostream>
using namespace std;
int main ( )
{
int num;
cout << " 숫자 입력 : ";
cin>> num;
switch(num)
{
case 1:
cout << " 1 의 값이 입력되었습니다" << endl;
cout << "************************" << endl;
case 2:
cout << "2 의 값이 입력되었습니다" << endl;
cout << "************************ " << endl;
default:
cout <<"1 또는 2 가 아닌 값이 입력되었습니다" << endl;
cout <<"************************ " << endl;
}
return 0;
}
● 주석 & 과정
- 입력받고
- 입력받은 값에 따라 맞는 case에 문장을 실행
- break; 가 없기때문에 case1부터 시작하면 case1부터 defaule 까지 쫘라락 실행된다
● 결과 & 스크린샷
★ 3장_10번예제
#include <iostream>
using namespace std;
int main()
{
int num;
cout << "숫자입력: ";
cin>> num;
switch(num)
{
case 1:
cout << "1 의 값이 입력되었습니다" << endl;
cout <<"************************" << endl;
break;
case 2:
cout << "2 의 값이 입력되었습니다" << endl;
cout <<"************************" << endl;
break;
default:
cout <<"1 또는 2 가 아닌 값이 입력되었습니다" << endl;
cout << "************************" << endl;
}
return 0;
}
● 주석 & 과정
- 입력받음
- 입력받은 값에 따라 맞는 case에 문장을 실행
- break가 있기 때문에 case1이 실행되어도 break문을 만나면 끝나버림.
- 어짜피 마지막이기 때문에 break문은 필요 없음
● 결과 & 스크린샷
★ 3장_11번예제
#include <iostream>
using namespace std;
int main()
{
int score;
cout << "점수 입력: " ;
cin >>score;
switch(score/10)
{
case 10:
case 9:
cout << " 당신의 성적은 A입니다 "<< endl;
break;
case 8:
cout << " 당신의 성적은 B입니다 " << endl;
break;
case 7:
cout << "당신의 성적은 C입니다" << endl ;
break;
case 6:
cout << "당신의 성적은 D입니다" << endl;
break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:
cout << " 당신의 성적은 F입니다 " << endl;
break;
default:
cout << "접수를 잘못 입력했습니다" << endl;
}
return 0;
}
● 주석 & 과정
- 입력받고
- 입력받은 값을 10으로 나누면 2자리중 마지막 일의 자리가 뒤로 날라가고 십의자리만 남음
- 그걸 가지고 스위치로 성적을 매김.
● 결과 & 스크린샷
★ 3장_12번예제
#include <iostream>
using namespace std;
int main()
{
int i;
for (i=1; i<=5; i++)
cout << "i=" << i << endl;
cout << "반복문 for 이후 i 의 값" << i<< endl;
return 0;
}
● 주석 & 과정
i를 1로 초기화하고 i가 5보다 작다면 밑애 문장을 실행하고 그뒤 i++하며 앞의 조건이 false가 될때까지 반복한다.
● 결과 & 스크린샷
★ 3장_13번예제
#include <iostream>
using namespace std;
int main()
{
int i;
i=1;
for ( ;i <=5;)
{
cout << "i=" << i << endl;
i++;
}
cout << "**** ****** " << endl;
i=1;
for (;;)
{
cout << "i=" << i << endl;
i++;
if (i>5)
break;
}
return 0;
}
● 주석 & 과정
- i를 1로 수정
- 조건이 true면 false일때 까지 반복 i가 5보다 작거나 같다면? 참 true이기에 반복에 들어감
- i를 1씩 증가시킴
- i를 1로 수정
- 무한반복
- i를 1씩 증가시킴
- i가 5보다 크다면 아래문장을 실행
- 반복문에서 나감
● 결과 & 스크린샷
★ 3장_14번예제
#include <iostream>
using namespace std;
int main ( )
{
int i;
i=1;
while (i<=5)
{
cout << "i=" << i << endl;
i++;
}
cout << " 반복문 while 이후 i의 값" << i<< endl;
return 0;
}
● 주석 & 과정
- i를 1로 수정
- 조건이 참이면 반복 i가 5보다 작기 때문에 참임 반복
- i를 1씩 증가 후치이기 때문에 이 이후에 증가됨
- i가 6이 되어야 반복문의 조건이 참이 아니게 되므로 결과는 6 수의 차이는 증감연산자 후치형이기 때문
● 결과 & 스크린샷
★ 3장_15번예제
#include <iostream>
using namespace std;
int main ()
{
int score;
do{
cout << "접수 입력:";
cin >> score;
}while(score>100 || score<0);
cout << "당신이 입력한 접수는 " << score << " 입니다" << endl;
return 0;
}
● 주석 & 과정
- do while은 일단 한번은 실행하고 시작한다.
- 입력받고
- 만약 조건이 참이면 계속 반복이다 이경우0보다 작거나 100보다 큰수를 입력하면 다시 입력하게 한다.
● 결과 & 스크린샷
★ 3장_16번예제
#include <iostream>
using namespace std;
int main ( )
{
int score;
char flag= 'Y';
do {
if (flag== 'n' )
cout << "접수의 범위가 잘못되었습니다. 다시 입력하세요! !!" << endl;
cout << "점수 입력:";
cin >> score;
flag='n' ;
} while (score>100 || score<0);
cout << " 당신이 입력한 접수는 " << score << " 입니다 . " << endl;
}
● 주석 & 과정
- flag를 문자 y로 추기화
- flag가 문자n이면 아래 문장 실행
- 입력
- flag를 문자 n으로 수정 만약 밑에 조건이 참이여서 반복하면 위에 if를 만나게됨
- 만약 조건이 참이면 계속 반복이다 이경우0보다 작거나 100보다 큰수를 입력하면 다시 입력하게 한다.
● 결과 & 스크린샷
★ 3장_17번예제
#include <iostream>
using namespace std;
int main ( )
{
int i;
for (i=1; i<10; i++)
{
if (i%2 == 0)
continue;
cout << "i= " << i << endl;
}
return 0;
}
● 주석 & 과정
- i를 1로 수정하고 i가 10보다 작은 조건이 참일때 동안 밑에문장 실행 반복하며 i++한다.
- i의 값을 2로 나머지를 구해서 0이면 (짝수이면)
- 이걸 실행시켜라 그럼 밑에꺼 패스!
● 결과 & 스크린샷
★ 3장_18번예제
#include <iostream>
using namespace std;
int main ()
{
int i , j;
for (i=1; i <=2; i++)
{
for (j=1; j<=3; j++)
{
cout << "i=" << i <<" ";
cout << "j=" << j <<endl;
}
cout << "*******************" << endl;
}
return 0;
}
● 주석 & 과정
- i를 1로 수정 만약 i가 2보다 작거나 같다면 계속 반복하고 그담에 i++
- 반복문안에 반복문의 형태 j=1로 수정 만약 j 가 3보다 작거나 같다면 계속반복 그담에 j++
● 결과 & 스크린샷
★ 3장_19번예제
#include <iostream>
using namespace std;
int main()
{
int a , i;
int r=1;
char flag= 'y';
do {
if (flag== 'n' )
cout << "앙수를 입력하세요" << endl;
cout <<"정수 입력: " ;
cin >>a;
flag= 'n';
} while (a<0);
for (i=1; i<=a; i++)
r=r*i;
cout << a << "!="<< r << endl;
return 0;
}
● 주석 & 과정
//정수형 변수 a와 i를 선언
//정수형변수 r선언하고 1로 초기화
//문자형 flag선언하고 'y'로 초기화
//반복전 1번은 실행함.
//floag가 'n'이면 아래 내용 실행
//입력
//flag를 'n'으로 수정
//a가 0보다 작으면 내용을 반복함 이는 정수형 이외의 값을 넣었을때
//경고를 출력하고 다시입력을 받기 위해 들어간 루틴
//i를 1로 수정 i가 a보다 작거나 같다면 계속 반복 그 후 i++
//1부터 입력한 수까지 차례대로 곱하여 누적
// 그리고 출력
● 결과 & 스크린샷
★ 3장_20번예제
#include <iostream>
using namespace std;
void TEST();
int main()
{
cout << "main() 함수 시작입니다 " << endl;
TEST();
cout << "main ( ) 함수 종료합니다 " << endl;
return 0;
}
void TEST ()
{
cout << "TEST 함수입니다.!!!!" << endl;
}
● 주석 & 과정
- 함수를 선언
- 함수를 동작하는 부분
- 동작하는 부분 해당 함수의 몸통
● 결과 & 스크린샷
★ 3장_21번예제
#include <iostream>
using namespace std;
int main ( )
{
int a=100;
cout << "main () 범위입니다. " << endl;
for (int i=1; i<3; i++)
{
cout << " 반복문 for 의 범위입니다" << endl;
cout << "i= " << i << endl;
}
cout << "프로그램을 종료합니다" << endl;
return 0;
}
● 주석 & 과정
- main함수 내부의 영역의 시작
- a 선언하고 100으로 초기화
- int i를 선언 하고 1로 초기화 i가 3보다 작다면 반복후 i++
- 여기서부턴 for문의 영역
- 여기까지가 for문의 영역의 끝
- main함수 내부의 영역의 끝
● 결과 & 스크린샷
★ 3장_22번예제
#include <iostream>
using namespace std;
int main ( )
{
int a=100;
cout << "main() 범위입니다" << endl;
for (int i=1; i<3; i++)
{
int a=200;
cout << " 반복문 for의 범위입니다" << endl;
cout << "i= " << i << endl;
cout << "a=" << a << endl;
}
cout << "a=" << a << endl;
cout << "프로그램을 종료합니다"<< endl;
return 0;
}
● 주석 & 과정
- main함수 영역의 int a를 선언하고 100을 초기화
- int i를 선언하고 1로초기화 i가 3보다 작으면 반복하고 i++
- for의 영역 시작
- for의 영역에서 int a를 선언하고 200을 초기화 main의 a와는 별개
- i를 출력
- 200을 출력 그 이유는 서로다른 영역에 같은 이름의 변수가 있다면 현제 영역의 변수에 우선순위가 있기 때문 그렇기 때문에 이 for 영역의 int a 가 우선순위로 표시됨
- 100을 출력 for안의 a 는 그 유통기간이 그 영역 안까지이며 이렇게 밖으로 나오면 현제 main영역의 a변수에 그 우선순위가 주어짐
● 결과 & 스크린샷
★ 3장_23번예제
#include <iostream>
using namespace std;
namespace NS_1 {
int a=200;
}
int main()
{
int a=100;
cout << "main ( ) 범위입니다" << endl;
for (int i=1; i<3; i++)
{
cout << "반복문 for 의 범위입니다" << endl;
cout << "i= " << i << endl;
cout << "namespace NS_1 의 a=" << NS_1::a << endl;
cout << "a=" << a << endl;
}
cout << "namespace NS_1 의 a=" << NS_1::a << endl;
cout << "a=" << a << endl;
cout << "프로그램을 종료합니다" << endl;
return 0;
}
● 주석 & 과정
- namespace NS_1는 영역 만들고 그곳엔 int a가 있고 200으로 초기화
- main영역에 int a를 선언하고 100으로 초기화
- int i를 선언하고 1을 초기화, i가 3보다 작으면 반복하고 i++ 함.
- i를 출력
- NS_1의 네임스페이스 영역의 a를 출력하기 때문에 200
- main영역의 a를 출력하기 때문에 100
- NS_1의 네임스페이스 영역의 a를 출력하기 때문에 200
- main영역의 a를 출력하기 때문에 100
● 결과 & 스크린샷
★ 3장_24번예제
#include <iostream>
//using namespace std;
namespace NS_1
{
int a=200;
}
int main()
{
int a=100;
cout << "main ( ) 범위입니다" << endl;
for (int i=1; i<3; i++)
{
cout << "반복문 for의 범위입니다" << endl;
cout << "i= " << i << endl;
cout << "namespace NS_1 의 a=" << NS_1::a << endl;
cout << "a=" << a << endl;
}
cout << "namespace NS_1 의 a=" << NS_1 ::a << endl;
cout << "a=" << a << endl;
cout << "프로그램을 종료합니다" << endl;
return 0;
}
● 주석 & 과정
- 이것을 지움
- 위에 using에서 std를 지웠기 때문에 cout이나endl을 찾을 수 없다. 사용하려면 네임스페이스를 지정해줘야한다.
- 위에 using에서 std를 지웠기 때문에 cout이나endl을 찾을 수 없다. 사용하려면 네임스페이스를 지정해줘야한다.
- 위에 using에서 std를 지웠기 때문에 cout이나endl을 찾을 수 없다. 사용하려면 네임스페이스를 지정해줘야한다.
- 위에 using에서 std를 지웠기 때문에 cout이나endl을 찾을 수 없다. 사용하려면 네임스페이스를 지정해줘야한다.
- NS_1 네임스페이스 명시하였고 그안의 맴버를 사용하였으므로 이건 NS_1안에 a를 정상 출력가능하지만 이것의 cout endl 역시 네임스페이스 지정이 안되어있어서 에러.
● 결과 & 스크린샷
결과이건 스샷이건 에러만 나옴
★ 3장25_번예제
#include <iostream>
//using namespace std;
namespace NS_1
{
int a=200;
}
int main ()
{
int a=100;
std::cout << "main() 범위입니다. " << std::endl;
for (int i=1; i <3; i++)
{
std::cout << "반복문 for 의 범위입니다" << std::endl;
std::cout << "i= " << i << std::endl;
std::cout << "namespace NS_1 의 a= " << NS_1 ::a << std::endl;
std::cout << "a=" << a << std::endl;
}
std:: cout << "namespace NS_1 의 a=" << NS_1::a<< std::endl;
std::cout << "a=" << a << std::endl;
std:: cout << "프로그램을 종료합니다" << std::endl;
return 0;
}
● 주석 & 과정
- namespace NS_1는 영역 만들고 그곳엔 int a가 있고 200으로 초기화
- namespace를 직접 명시하기 때문에 cout 과 endl을 쓸수있다.
- namespace를 직접 명시하기 때문에 cout 과 endl을 쓸수있다.
- 이곳에 endl은 책의 소스상 직접 명시하지 않았으나 의도가 아닌듯하여 직접 지정함.
- namespace를 직접 명시하기 때문에 cout 과 endl을 쓸수있다.
- namespace를 직접 명시하기 때문에 cout 과 endl을 쓸수있다.
- namespace를 직접 명시하기 때문에 cout 과 endl을 쓸수있다.
- namespace를 직접 명시하기 때문에 cout 과 endl을 쓸수있다.
- namespace를 직접 명시하기 때문에 cout 과 endl을 쓸수있다.
● 결과 & 스크린샷
★ 3장_26번예제
#include <iostream>
using namespace std;
namespace SAM_1
{
int a=100;
}
namespace SAM_2
{
int b=200;
}
int main ( )
{
cout << "SAM_1 의 a: " << SAM_1::a << endl;
cout << "SAM_2 의 b: " << SAM_2::b << endl;
● 주석 & 과정
- namespace SAM_1는 영역 만들고 곳엔 int a가 있고 100으로 초기화
- namespace SAM_2는 영역 만들고 그곳엔 int a가 있고 200으로 초기화
- namespace sam_1을 직접 지정하여 그안에 a를 사용 100출력
- namespace sam_2을 직접 지정하여 그안에 a를 사용 200출력
● 결과 & 스크린샷
★ 3장_27번예제
#include <iostream>
using namespace std;
namespace SAM_1
{
int a=100;
}
namespace SAM_2
{
int b=200;
}
int main ( )
{
using namespace SAM_1;
using namespace SAM_2;
cout << "SAM_1 의 a: " << a << endl;
cout << "SAM_2 의 b: " << b << endl;
● 주석 & 과정
- namespace SAM_1는 영역 만들고 그곳엔 int a가 있고 100으로 초기화
- namespace SAM_2는 영역 만들고 그곳엔 int b가 있고 200으로 초기화
- main함수 내에서 사용된 변수나 함수중에 SAM_1의 맴버가 있다면 소속을 명시하지 아니하겠다는 의미
- main함수 내에서 사용된 변수나 함수중에 SAM_2의 맴버가 있다면 소속을 명시하지 아니하겠다는 의미
- 위에 명시했으므로 직접 네임스페이스를 지정할 필요가 없다. Sam_1의 맴버 a의 100 출력
- 위에 명시했으므로 직접 네임스페이스를 지정할 필요가 없다. Sam_2의 맴버 b의 200 출력
● 결과 & 스크린샷
★ 3장_28번예제
#include <iostream>
using namespace std;
namespace SAM_1
{
int a=100;
}
namespace SAM_2
{
int a=200;
}
int main()
{
using namespace SAM_1;
using namespace SAM_2;
cout << "SAM_1 의 a: " << a << endl;
cout << "SAM_2 의 a: " << a << endl;
}
● 주석 & 과정
- namespace SAM_1는 영역 만들고 그곳엔 int a가 있고 100으로 초기화
- namespace SAM_2는 영역 만들고 그곳엔 int a가 있고 200으로 초기화
- main함수 내에서 사용된 변수나 함수중에 SAM_1의 맴버가 있다면 소속을 명시하지 아니하겠다는 의미
- main함수 내에서 사용된 변수나 함수중에 SAM_2의 맴버가 있다면 소속을 명시하지 아니하겠다는 의미
- SAM_1에도 SAM_2에도 같은 이름의 변수가 있다 그래서 어느건지 찾기 애매하여 애매하다는 에러가 난다. 해결하려면 직접 명시해줘야한다.
- SAM_1에도 SAM_2에도 같은 이름의 변수가 있다 그래서 어느건지 찾기 애매하여 애매하다는 에러가 난다. 해결하려면 직접 명시해줘야한다.
- 모범답안↓ 아래처럼 바꾸면 된다.
std::cout << "SAM_1 의 a: " << SAM_l::a << std::endl;
std::cout << "SAM_2 의 a: " << SAM_2::a << std::endl;
● 결과 & 스크린샷