본문 바로가기

정상을향해/Languages8

파이썬(Python)_변수 / 표현식 / 문장 출처 : https://www.py4e.com/lessons/memory 참조 : https://www.py4e.com/html3/02-variables Python Lecture2. Variables, expressions and statements 상수(Constants) 값이 변하지 않는 숫자, 문자, 문자열과 같은 고정값을 상수(constants) 라고 한다. 숫자 -> 상수 작은따옴표(') 혹은 큰따옴표(")로 표시된 문자열 -> 상수 >>> print(123) 123 >>> print(98.6) 98.6 >>> print('Hello World!') Hello World! 예약어(Reserved Words) 예약어(reserved words) 는 파이썬이 정한 의미로만 쓰이는 특별한 단어다. .. 2019. 2. 16.
상속 (Inheritance) 다음 소스코드를 보자. 25번째행에서 다음의 선언이 의미하는 바가 'public 상속'이다. class UnivStudent : public Person{ . . .} 그리고 WhoAreYou() 멤버함수를 살펴보자. (35행) UnivStudent 클래스에는 WhatYourName 함수와 HowOldAreYou 함수가 정의되어 있지 않음에도 불구하고, 이 두 함수를 호출할 수 이유가 바로 UnivStudent 클래스가 Person 클래스를 상속했기 때문이다. 즉, 이 두 함수는 Person 클래스의 멤버함수이기 때문에 호출이 가능하다. (이 것이 상속의 가장 두드러진 특징이다.) 여기서 하나의 의문점이 생긴다. UnivStudent 클래스의 생성자는 Person 클래스의 멤버까지 초기화해야 할 의무가 .. 2013. 11. 11.
얕은복사와 깊은복사 int num =20;int &ref = num; 위와 같은 방식으로 변수와 참조자를 선언 및 초기화해 왔다. 하지만 C++에서는 다음의 방식으로 선언 및 초기화가 가능하다. int num(20);int &ref(num); 위의 두 가지 초기화 방식은 결과적으로 동일하다. 즉, C++에서는 위의 두 가지 초기화 방식을 동시에 지원하고 있다. 다음의 소스코드를 살펴보자. 31번째 줄에 나와있는, SoSimple sim2 = sim1;SoSimple sim2(sim1); 이 두 코드는 동일한 의미로 해석된다. 첫 번째 문장이 두 번째 문장의 형태로 묵시적으로 변환이 되어서 객체가 생성되는 것이다. 결과는 우리가 쉽게 상상할 수 있는 그대로의 결과가 출력된다. 여기서 생각해볼 점은 이러한 유형의 생성자가 정의.. 2013. 11. 11.
멤버 이니셜라이저를 이용한 멤버 초기화 다음은 생성자가 추가된 Rectangle 클래스의 선언이다. 생성자는 직사각형을 이루는 두 점의 정보를 직접 전달할 수 있게 정의하였다. 이 정보를 통해서 두 개의 Point 객체가 초기화되어야 한다. 위 코드는 Rectangle 클래스의 생성자 정의이다. 이 중 다음의 내용이 '멤버 이니셜라이저(Member Initializer)'이다. :upLeft(x1, y1), lowRight(x2, y2) 이 것의 의미는 다음과 같다. 객체 upLeft의 생성과정에서 x1과 y1을 인자로 전달받는 생성자를 호출하라. 객체 lowRight의 생성과정에서 x2와 y2를 인자로 전달받는 생성자를 호출하라. 이렇듯 멤버 이니셜라이저는 멤버변수로 선언된 객체의.. 2013. 11. 11.