728x90
반응형
동적할당
- malloc으로 동적할당할 경우 free가 아닌 delete로 메모리를 해제하면 안됨
- new를 free로 해제해도 안된다.
P = new smart; 으로 동적할당할 경우 생성자도 함께 실행되는데 이 때 실행되는 생성자는 Defult생성자이다.
P = new smart(3); 으로 동적할당할 경우 Defult생성자가 아닌 smart(int iNum) 생성자가 호출된다. (인자값에따라)
JAVA Integer A; // class 객체가 생성됨 int A; // 기본자료형 변수 - JAVA에서는 -> 를 쓰지 않고 .만 사용한다. (기본 포인터 개념이 없기 때문에) |
Cpp 초기화
- int iNum = 100; 과 int iNum(100)의 명령어는 같다. 둘중 무엇으로 초기화를 하든 iNum은 100의 값을 가진다.
- Class함수의 이름뒤, 중괄호 앞에 :을 넣고 명령을하면 생성자가 구동될 때, 함수의 중괄호 내용 실행전에 실행된다.
- iNum(100)의 초기화는 에러없이 실행되지만 iNum = 100은 에러가 뜸, ( )로 명령해주어야함
#include <iostream> using namespace std; class Point { private: int x; int y; public: Point() { x = 0; y = 0; cout << "Point_Defult 생성자 호출" << endl; } Point( int x, int y) { Point :: x = x; Point :: y = y; cout << "Point 생성자 호출" << endl; } ~Point() { cout << "Point 소멸자 호출" << endl; } void Print() { cout << "[" << x << ", " << y << "]\n"; } }; class Rectangle { public: Point upLeft; // Point클래스 객체 Point lowRight; const int iNum; public: Rectangle() // 생성자가 구동될때 제일 먼저 실행 :iNum(100) // iNum = 100 과 같은 명령어 { cout << "Rectangle_Defult 생성자 호출" << endl; } Rectangle( int x1,int y1,int x2, int y2) // 생성자가 구동될때 함수의 중괄호안 내용이 실행되기전 실행된다. //각각 객체에 값을 넣어준다. :upLeft(x1, y1), lowRight(x2, y2), iNum(100) { cout << "Rectangle 생성자 호출" << endl; } ~Rectangle() { cout << "Rectangle 소멸자 호출" << endl; } void Print() { upLeft.Print(); lowRight.Print(); } }; int main() { Rectangle Obj1; // Defult생성자가 호출되며 객체를 생성 Obj1.Print(); // 0,0,0,0 출력 Rectangle Obj2(1, 2, 3, 4); // 4개의 인자값을 가진 생성자 호출 Obj2.Print(); // 1, 2, 3, 4 출력 cout << "iNum : " << Obj1.iNum << endl; int iNum(200); // 에러없이 int iNum = 200; 과 똑같이 실행이 된다. int * iP(&iNum); // int * iP = &iNum; char * str("test" ); // char * str2 = "test"; return 0; } |
생성자, 소멸자
#include <iostream> using namespace std; class Point { private : int x; int y; public : Point() { x = 0; y = 0; cout << "Point_Defult 생성자 호출" << endl; } Point( int x, int y) { Point :: x = x; Point :: y = y; cout << "Point 생성자 호출" << endl; } ~Point() { cout << "Point 소멸자 호출" << endl; } void Print() { cout << "[" << x << ", " << y << "]\n" ; } }; void test(Point Obj) { Point Obj1; Obj1 = Obj; } int main() { Point ObjA; test(ObjA); return 0; } |
-오후수업-
이렇게 설정한뒤에 옆사람 시리얼이랑 연결
아무 송수신 없을때
옆사람한테 수신왔을 때
옆사람 송신화면 |
내 매크로 송신했을 때
옆사람이 내 송신을 수신한 화면 |
시리얼 통신 포트
728x90
'코스웨어 > 14년 스마트컨트롤러' 카테고리의 다른 글
2014년 10월 15일 수업일지 김용우 (7) | 2014.10.15 |
---|---|
2014.10.14 업무일지 - 김상엽 (9) | 2014.10.14 |
2014.10.13 일일 교육보고 - 김대희 (3) (9) | 2014.10.13 |
20141010 출석번호 1번 업무일지 고윤석 (9) | 2014.10.12 |
영상처리 (0) | 2014.10.08 |
20141008 영상처리 양태영 (0) | 2014.10.08 |
20141008 영상처리 박영주 (0) | 2014.10.08 |
20141008 영상처리 김진철 (0) | 2014.10.08 |