![운영체제_공룡책_10장연습문제](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/xGrk5/btrs9h0zopm/KC7xCRGvStKO1QT895ws8k/img.png)
운영체제_공룡책_10장연습문제
- [CS] 전공 공부 모음/[학교] OS_운영체제
- · 2021. 12. 12.
728x90
[객체 포인터] :객체 전용 포인터 변수가 있다. 클래스이름 *객체포인터_변수이름; NewClass Object(10); //멤버변수를 10으로 초기화하며 객체 선언 동시에 생성 NewClass *ptr_Object; //객체 포인터 선언 ptr_Objext = &Object; //지칭할 객체의 주소를 객체 포인터에 넣어줌 -‘객체’에서 자신의 멤버변수나 멤버함수에 접근할 때는 도트 연산자(.) 를 사용한다. 객체.멤버변수 객체.멤버함수 -‘객체 포인터’에서 자신의 멤버변수나 멤버함수에 접근할 때는 ( -> 연산자)를 사용한다. 객체포인터 -> 멤버변수 객체포인터 -> 멤버함수 int main() { Television SStv; Television LGtv(40, 10, 0); Television *p..
*Copy Constructor 복사 생성자 CodeNum ModelNum SerialNum SStv 101 10131 101551 LGtv 102 10242 102341 HDtv 103 10354 103423 GStv 104 10423 104311 얕은 복사 (=Shallow Copy)와 깊은 복사(= Deep Copy) 복사하는 방법에는 얕은 복사, 깊은 복사 두 가지 방법이 있다. 얕은 복사 : 말 그대로 일반 변수의 값은 그대로 복사하고 포인터 변수의 주소값도 그대로 복사한다. -> 그래서 서로 다른 두 포인터 변수들이 같은 주소를 공유하게 된다 -> 그래서 하나의 포인터 변수가 정보를 수정하면 다른 포인터 변수의 정보도 따라서 수정이 된다 (문제) 깊은 복사 : 복사 생성자(=Copy Const..
생성자(Constructor) 소멸자(Destructor) -생성자 – 객체 생성 시 자동으로 실행되는 함수이다. -주로 멤버 변수들의 초기값 지정하는 일을 한다. -소멸자 - 생성자와 반대되는 개념이다. 생성자의 특징들 1) 특별한 멤버함수이다. 2) 생성자의 이름은 클래스 이름과 같다. 3) 생성자는 따로 자료형 지정 X 4) 생성자는 멤버변수들을 초기화한다. 5) 생성자 오버로딩을 통해서 객체마다 다양한 초기값 갖게 만든다. 소멸자의 특징들 1) 소멸자는 객체가 소멸될 때, 자동으로 실행되는 함수이다. 2) 소멸자는 객체 정리해주는 멤버함수이다. 3) 소멸자 이름은 클래스 이름과 같은데 이름 앞에 ~기호붙인다 4) 소멸자는 자료형을 지정 X 5) 소멸자는 매개변수를 지정할 수 없다. class 클래..
1. Node 구조체 개념 -> 객체 개념과 일정 부분 닮아 있다. //6주차 수업내용 #include #include using namespace std; typedef struct Node { //노드 구조체 int ID; int data; struct Node* next; }; struct Node F_Initialize(int pID = 1 , int pData = 10 ) { //노드 데이터 초기화 반환 함수 struct Node n; n.ID = pID; n.data = pData; n.next = NULL; return n; } //함수 오버로딩해서 사용하기 int F_sum(int x, int y) { //정수합 계산 함수 int z; z = x + y; return z; } int F_s..
[객체지향 프로그램이 4대특징] 다형성 Polymorphism 추상황 Abstraction 캡슐화 Encapsulation 상속성 Inheritance [Default Function Parameter //디폴트 인수] :함수 선언 시, 함수 매개변수에 초기값을 지정한다. 이후 해당 함수 호출 시, 매개값 O 호출 --> 매개값으로 다시 초기화 매개값 X 호출 --> 함숨 선언 시 지정된 초기값으로 초기화 [Function Overloadiong (함수 오버로딩) 함수이름중복 cf. 오버라이딩(재정의) ] :함수 반환형, 함수 매개변수 개수나 자료형을 달리해서 함수의 이름이 같은 여러 개의 함수를 정의하는 방법 [Class(클래스)] : 클래스는 자료를 저장하는 변수들의 모임, 자료 처리하는 함수들의 모..
1. 동적메모리할당: new연산자 동적메모리반환: delete연산자 -> 구조체변수로 내부 멤버에 접근 (.) 도트연산자 #include #include #include using namespace std; typedef struct student { //구조체 int ID; int Age; char Name[30]; float GPA; //학점평균 }student; int main() { student st1; student st2; student st3 = { 202001, 20, "Michael", 4.0 }; //선언과 동시에 초기값 지정 //구조체타입 배열 student st4[3] = { {202002, 22, "Kim", 4.1}, {202003, 23, "Lee", 4.2}, {202004..
1. 정적할당, 동적할당 #include //c++의 표준 입출력 헤더파일(cin, cout객체 포함) using namespace std; //이름 공간 설정 #include int main() { int* ptr1 = new int; //1개의 int형 공간 동적할당하여 포인터로 그 주소 지칭 int* ptr10 = new int[10]; //10개의 int형 공간 동적할당 *ptr1 = 50; cout
1. 포인터 -값의 개념과 주소의 개념을 구분해서 생각할 것 #include //c++의 표준 입출력 헤더파일(cin, cout객체 포함) using namespace std; //이름 공간 설정 int main() { int i = 0; //일반 변수 int* ptr_i; //포인터 변수 int* ptr_x = &i; ptr_i = &i; //값의 개념 cout
1. int형 (1~num)까지의 sum값 누적하여 구하기 -num은 사용자에게 입력받는 값 #include using namespace std; int main() { int num; //사용자입력값 int sum = 0;//밑 막는 용도 cout > num; if (num >= 1) { //입력값 양수인 경우 for (int i = 1; i = num; i--) { sum += i; } } cout
package mouse; import java.awt.Graphics; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.image.BufferedImage; import javax.swing.JFrame; import javax.swing.JPanel; //사각형 화면에 그리기용 class Rectangle { int x, y, w, h; } class MyPanel extends JPanel{ BufferedImage img = null; int img_x = 0, img_y = 0; Rectangle [] array = new Rectangle[100]; int index = 0; public ..
package ch12; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Rectangle; import java.awt.Robot; import java.awt.image.BufferedImage; import javax.swing.JFrame; import javax.swing.JPanel; //캡쳐 클래스 public class Capture { public static void main(String[] args) { //필드 JFrame capture = new JFrame(); capture.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Dimension d; Rectangle re..
[코드 설명] -MyFrame 클래스에 JFrame 상속과 동시에 ActionListener를 구현해놓았다. class MyFrame extends JFrame implements ActionListener { //필드 private JButton zero, one, clear, change; //버튼 4개 private JTextField text; //Text 창 private JPanel panel; //패널 //생성자 public MyFrame() { setSize(350, 300); //프레임 크기 설정 setLocationRelativeTo(null); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setTitle("자바 시험"); setLayout(ne..