programming

C++에서 함수는 입력 인자의 자료형에 제약이 있습니다. 예를 들어 정수형 2개를 입력받고 두 값을 더한 정수를 반환하는 함수에 double형 값을 입력하면 문제가 발생합니다. 하지만 비슷한 또는 동일한 기능을 하고, 다양한 자료형을 모두 처리할 수 있는 함수가 필요할 때도 있습니다. 이럴 때 우리는 함수 오버로딩을 사용합니다. 쉽게 설명하자면, 같은 이름을 가졌지만 다른 자료형을 처리하는 함수입니다. 입력 인자의 자료형이 다르다는 뜻입니다. * 함수의 반환 자료형은 상관 없습니다. 입력 인자의 자료형만 고려합니다. 간단한 예시를 보겠습니다. // Overloading Function #include using namespace std; int add_num(int, int); double add_num..
Prototype(프로토타입) C++ 에서 함수를 선언할 때, 여러가지 편의성을 이유로 프로토타입을 선언합니다. 가장 큰 이유로는 함수 선언의 순서를 신경쓰지 않아도 되는 것과 문서의 가독성을 높이고 코드 구조를 개선하는 이유입니다. 프로토타입의 위치는 무조건 함수의 선언 이전에 있어야 합니다. 관례적으로는, 헤더 이후 프로토타입 선언을 하고, 메인 함수 이후에, 프로토타입으로 선언된 함수들의 선언을 합니다. 프로토타입의 형태는 다음과 같습니다. // Function Prototypes void say_hello(); // 함수 Argument가 없을 때 int add_nums(int, int); int subt_nums(int n1, int n2); // 함수 argument가 있을 때, 두 형태 모두..
코드 설명 사용자로부터 문자열을 입력 받고, 이를 피라미드 형태로 출력하는 것입니다. 일반적인 예제인 asterisk(*) 피라미드와는 다르게 반복문과 string에 대한 이해가 필요해서 조금 시간이 걸렸습니다. (나의) 코드 #include #include using namespace std; int main() { string choice{}; cout
코드 설명 c++ style string을 연습하기 위한 암호화 및 해독 코드입니다. alphabet 과 key 문자열에 각각 암호화시킬 알파벳과 암호화 결과 알파벳을 저장해 놓고, .find 메소드로 인덱스를 찾아서 변환하는 방식으로 진행됩니다. 중요한 점은 영어를 제외한 띄어쓰기, 특수문자와 같은 문자는 alphabet 문자열에 존재하지 않기 때문에, find 메소드를 사용했을 시 오류가 발생합니다. 이를 방지하기 위해 string::npos와 동일한지를 확인합니다. string::npos는 'find문으로 특정 문자(열)를 찾지 못했을 시' 반환됩니다. 예를 들어, string s1 = "Hello my name is Ricky." 라는 문자열에 대하여 s1.find("lemon"); 을 했을 시,..
Ricky U. Lee
'programming' 태그의 글 목록 (2 Page)