목록𝐏𝐑𝐎𝐆𝐑𝐀𝐌𝐌𝐈𝐍𝐆 (80)
도순씨의 코딩일지
C++은 클래스 별로 헤더파일과 소스 파일을 생성하기 때문에 많은 수의 파일이 만들어집니다. 파일분할은 다음과 같은 기준으로 나누어집니다. 💡 ~.h : 클래스의 선언을 담는다 💡 ~.cpp: 클래스의 정의 (멤버함수의 정의)를 담는다 클래스의 선언은 다음과 같습니다. 1 2 3 4 5 6 7 8 9 10 11 class Car{ private: char gamerID[CAR_CONST :: ID_LEN]; int fuelGauge; int curSpeed; public: void InitMembers(char * ID, int fuel); void ShowCarState(); void Accel(); void Break(); }; Colored by Color Scripter cs 위의 코드들은 클래스..
이미 언어를 여러 개 익힌 뒤라 그런지 모르겠지만 대충 내용을 훑어보면 어떤 내용일지 예상이 간다. 그런데 이번에 살펴본 이름공간은 (나에게는) 너무나도 생소한 개념이었다. 이름공간은 이름의 충돌을 막기 위한 것이다. 다음 코드를 통해서 살펴보도록 하자. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include void SimpleFunc(void){ std::cout
1) 함수 오버로딩(Function Overloading) C언어에서는 동일한 이름의 함수가 정의되는 것을 허용하지 않는다. 함수의 다형성을 위해서 다양한 매개변수를 이용할 수 있도록 C++에서는 동일한 이름의 함수가 정의되는 것을 허용한다. 함수호출 시 전달되는 인자를 통해서 호출하고자 하는 함수의 구분이 가능하다. 함수 오버로딩 코드 예제는 다음과 같다. @ 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #include void MyFunc(void){ std::cout
1. 입출력 방식 C언어는 출력 방식으로 printf 함수를 사용한다. 그렇다면 C++은 어떠한 방식으로 문장을 출력할까? 먼저 다음 코드를 살펴보도록 하자. @ 코드 1 2 3 4 5 6 7 8 9 10 #include int main(void){ int num = 20; std::cout
1. 문자 개수 세기(count) a = "Hello world" print(a.count('l')) 말 그대로 문자열 안에 특정 문자의 개수가 몇 개인지 카운트해주는 함수이다. "Hello world"의 경우에는 l이 3개 포함되어 있기 때문에 3이 출력된다. 대소문자를 구별하므로 print(a.count('h'))의 결과는 0이다. 2. 위치 알려주기 1 (find) a = "Hello world" print(a.find('o')) 인덱싱 개념을 모른다면 인덱싱에 관련된 설명을 읽고 오는 것을 추천한다. 간단하게 설명하자면 H을 0으로 지정하고 이를 기준으로 e를 1, l을 2로 매기는 것이다. find 함수는 인덱스를 반환하고 만약 해당 문자가 없는 경우에는 -1을 반환한다. 그리고 해당 문자가 문..
학교 프로젝트로 '볼링 게임 만들기' 프로젝트를 진행 했었다 객체지향 프로그래밍 개념도 잘 모르고 GUI 개념도 잘 몰랐던 나에게는 큰 고난이었다(...) 교수님이 주신 조건 중에서는 '플레이어들이 번갈아가며 볼링 공을 던지고, 이를 바로 점수판에 표시하라'라는 조건이 있었다 한참을 뒤적이던 나는 스레드 라는 개념이 있다는 것을 알게 되었다. 스레드를 볼링에 적용하여 설명해보자면 하나의 player라고 생각하면 된다. 각각의 플레이어들은 번갈아가며 공을 던진다. 원래 프로그램이라면 하나의 플레이어가 순차적으로 모든 과정을 끝낸 뒤에 다음 플레이어의 과정이 실행이 되겠지만 스레드를 적용하면 플레이어 1의 1라운드 - 플레이어 2의 1라운드 - 플레이어 1의 2라운드 ~ 와 같은 식으로 진행된다. 다시 말해..
시험 문제 중에서 계산기를 구현하는 문제가 나왔는데 for 문으로 돌린 addActionListener에서 오류가 나서 당황했다. 그래서 결국 for문을 사용하지 않고 하나하나 작성해서 제출하긴 했지만 ... 뭔가 찝찝해서 다시 고쳐보려고 한다 코드를 하나하나 살펴보도록 하자 import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; import javax.script.ScriptException; import javax.swing.*; import java.awt.*; import java.awt.event.*; import 부분이다 계산기 문제가 자바로 나와서 솔직히 당황했다 파이썬으로 자바를 구현할 때 eval 함수를 사용했..
명품 자바 프로그래밍 12장 실습문제 1. 패널에 paintComponent를 이용하여 이미지를 그린다. FlowLayout 배치 관리자를 가진 패널 바탕 크기에 일치하도록 "back.jpg" 이미지를 출력하고 그 위에 "Hide/Show" 버튼이 보이도록 프로그램을 작성하여라. "Hide/Show" 버튼이 클릭되면 이미지가 보이지 않게 하고 다시 클릭하면 보이게 하라. import javax.swing.*; import javax.swing.Timer; import javax.swing.event.*; import javax.swing.filechooser.FileNameExtensionFilter; import java.awt.*; import java.awt.event.*; import java.i..