본문 바로가기

반응형

Programming

(77)
C++/접근지정자 접근 지정자란? Access Modifier, Access Specifier 라고도 하며, 객체 지향 언어에서 객체를 캡슐화 하고, 외부에서 접근이 가능한 공개 멤버와 외부에서의 접근을 허용하지 않는 인가하지 않는 비공개 멤버를 구분 짓는 지정자이다. C++ 에서는 3가지 멤버 접근 지정자를 지원한다. * private - 비공개 클래스 내의 멤버 함수에게만 접근을 허용, 인가 한다.* public - 공개 클래스 내외를 막론하고 프로그램의 모든 함수들에게 접근을 허용, 인가한다.* protected - 보호 클래스 내의 멤버 함수에게 접근을 허용 하며 이 클래스를 상속 받는 파생 클래스의 멤버 함수에게 접근을 허용, 인가한다. 디폴트 접근 지정 디폴트 접근 지정은 private로 처리되며 디폴트 접근 ..
C++/소멸자 소멸자란? 객체가 생성시 생성자가 생성되는 것처럼 객체 소멸 시 소멸자 함수가 반드시 실행된다. 소멸자(destructor)는 객체가 소멸 되는 시점에서 자동으로 호출되는 클래스의 멤버 함수이다. 소멸자의 특징* 소멸자의 목적은 객체가 사라질 때 필요한 마무리 작업을 하기 위함이다. * 소멸자의 이름은 클래스 이름 앞에 ~를 붙인다.* 소멸자는 리턴 타입이 없으며 어떤 값도 리턴해서는 안된다.* 소멸자는 오직 한 개만 존재하며 매개 변수를 가지지 않는다.* 소멸자가 선언되어 있지 않으면 기본 소멸자(default destructor)가 자동으로 생성된다. 소스 코드 123456789101112131415161718192021222324252627282930313233343536#include using ..
C++/예제/클래스/ Rectangle 클래스 만들기 문제 조건 * Rectangle 클래스는 width와 height의 두 멤버 변수를 가진다.* Rectangle 클래스는 3개의 생성자를 가진다.* 3개의 생성자는 기본생성자, 너비와 높이, 길이를 파라미터 값으로 가진다.* Rectangle 클래스는 정사각형 여부를 판독하는 isSquare() 함수를 가진다.* isSquare() 함수는 bool 값인 0 또는 1 , false 또는 true를 리턴한다. 소스 코드 12345678910111213141516171819202122232425262728293031323334353637383940#include using namespace std; class Rectangle {public: int width, height; Rectangle(); Recta..
C++/컴파일러에 의한 생성자 자동생성 기본 생성자는 프로그래머가 클래스 생성시 기본 생성자를 생성하지 않은 경우 컴파일러에 의해서 자동으로 생성된다. 가. 생성자를 선언하지 않은 Circle 클래스 12345678910 class Circle {public: int radius; double getArea();}; int main(){ Circle donut;}cs 나. 컴파일러에 의해서 기본 생성자 자동 삽입 12345678910111213class Circle{public: int radius; double getArea(); Circle();}; Circle::circle(){} int main() { Circle donut;}cs 만약 하나의 아래와 같은 생성자라도 생성되어 있을 경우에 컴파일러는 기본생성자를 생성하지 않으며, 기본생..
C/연산순서에 관한 예시 12345678910111213#includeint main() { int a=2,b=3,c=4,d; d = a*b+c >= 8&& c/a -b != 0; // Test code // int f; // f = 8&& c/a-b; // printf("%d\n",f); printf("%d",d); return 0;}Colored by Color Scriptercs 연산과정 d의 연산순서를 크게 따지면 a*b+c >= 8, c/a -b != 0 이렇게 논리연산자를 기준으로 나눌수있다.이렇게 나눠논 연산자의 우선순위는 산술연산의 우선순위가 높으므로 산술연산자인 * / % + - 를 먼저 연산하고 관계연산자를 연산한다. a*b+c 를 먼저 연산하면, 10c/a -b 를 먼저 연산하면, -1이후 관계연산자를 연산하..
Android/drozer - 안드로이드 동적 디버깅 환경 구성 drozer는 mwrinfosecurity에 서 만든 툴이다. 공개된 CVE 취약점 몇개를 실행할 수있는 모듈을 가지고 있고, 취약점 진단에 필요한 명령어를 담고있는 busybox, 루팅을 시키는 towelroot 앱을 인스톨 할 수 있는 모듈도 가지고 있다. 설치파일은 https://labs.mwrinfosecurity.com/tools/drozer/ 에서 받을 수 있으며,mwrinfosecurity에서 가이드도 제공하고 있다.설치는 윈도우에서 진행 했으므로 윈도우 만 기록한다. 1. 받은 압축파일의 압축을 풀면 윈도우즈에서 설치가가능한 setup 파일과 apk가 나온다. setup 먼저 설치한다.2. 설치가 끝났으면 android virtual emulator에 agent.apk를 설치한다. 3. 설..
Android/Sidesync/갤럭시 j7 frp 해제 factory reset protection을 sidesync로 열리는 구글 브라우저로 뚫어서 구글 계정을 초기화 시킬 수 있다.sidesync가 pc에서 설치되어 디바이스와 연결될 때 디바이스에 sidesync 어플리케이션이 설치되있지 않으면 바 형식으로 설치할 수있는 선택지를 준다.그 중에 크롬 브라우저 선택지가 있는데 크롬 브라우저가 열리는 것으로 frp를 우회할 수 있다. 1. 먼저, PC에 sidesync를 설치한다.(이 이후과정에서는 디바이스가 pc에 정상적으로 연결이 된다는 가정하에 진행한다. 여기서 연결이안된다면, 삽질 몇시간의 결과 내문제는 케이블을 교체하면서 정상적으로 진행할 수 있었지만 일반적으로는 삼성 홈페이지에서 제공하는 통합 드라이버를 받아 설치하고 재부팅을 하고 드라이버가 로드..
C/C언어의 유래 단어immersed : 집어 넣은. ran on : ~에대해 계속 논의 되다.diverge : 갈라지다.stable : 안정된 C는 Unix를 개발할때 쓰인 언어이다. DEC PDP-7때 쓰였고 그때 마이크로 컴퓨터는 8k 워드의 메인 메모리를 가지고 있었다. ref : https://www.google.co.kr/search?q=DEC+PDP-7&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjn5ZfCtfnVAhWDGJQKHQd7Cf4Q_AUICigB&biw=1536&bih=798#imgrc=_ 어셈블리로 쓰인 유닉스는 디버깅을 할때 정말 고통스러웠다고.. 그래서 유닉스는 예외처리가 없었고, 톰슨씨는 고급레벨의 언어가 나중 유닉스 버전에 필요하다고 느꼈다고함. 처음에 B를 짰고, ..

반응형