'2007년1학기 > 영어I' 카테고리의 다른 글

영어1 문법들  (28) 2007.04.26
영어1 해석본  (43) 2007.04.19
영어 완전기초  (32) 2007.03.19
영어 해석  (21) 2007.03.18
영어 1 퀴즈자료  (28) 2007.03.18
by cranix 2007.04.26 00:29

- (4 * (3 + 2)) - 3 * 5 를 후위연산으로 바꾸자

32+4*35*-

'2007년1학기 > 컴퓨터구조' 카테고리의 다른 글

강의  (27) 2007.04.25
컴구조 과제  (757) 2007.03.27
by cranix 2007.04.25 09:44

'2007년1학기 > C++프로그래밍' 카테고리의 다른 글

함수 오버로딩과 오버라이딩  (45) 2007.05.02
C++ 강의노트  (54) 2007.05.02
C++ 강의노트 5,6장  (22) 2007.04.24
C++ 6강 강의자료  (24) 2007.04.11
C++ 5강 강의자료  (25) 2007.04.04
C++ 프로그래밍4강  (43) 2007.03.28
by cranix 2007.04.24 19:54
므핫핫!

영어1 해석본이랍니다!

'2007년1학기 > 영어I' 카테고리의 다른 글

영어1 문법들  (28) 2007.04.26
영어1 해석본  (43) 2007.04.19
영어 완전기초  (32) 2007.03.19
영어 해석  (21) 2007.03.18
영어 1 퀴즈자료  (28) 2007.03.18
by cranix 2007.04.19 13:23


1. : 초기화
/* 예제 6-1.cpp */
#include<iostream>
using namespace std;
class Student {
 const int id; // id를 상수화
 int age;
 char name[20];
 char major[30];
public:
 Student(int _id, int _age, char* _name, char* _major) : id(_id){
  //id=_id; // 에러 발생
  age=_age;
  strcpy(name, _name);
  strcpy(major, _major);
 }
 void ShowData() {
  cout<<"이름: "<<name<<endl;
  cout<<"나이: "<<age<<endl;
  cout<<"학번: "<<id<<endl;
  cout<<"학과: "<<major<<endl;
 }
};
int main() {
 Student Kim(200577065, 20, "Hong Gil Dong", "Computer Eng.");
 Student Hong(200512065,19,"Kim Sam Soon","Electronics Eng.");
 Kim.ShowData();
 cout<<endl;
 Hong.ShowData();
 return 0;
}

--> 콜론초기화는 위와캍이 const 멤버변수를 초기화 시킬수 있다.


2. const 함수
#include <iostream>
using namespace std;
class Count {
 int cnt;
public :
 Count() : cnt(0){}
 // 이와같이 const 가 맨 앞에 있으면 리턴되는 cnt 가 const 형태로 넘어간다.
 const int* GetPtr() const{
  return &cnt; // Compile Error
 }
 void Increment(){
  cnt++;
 }
 void ShowData() const {
  ShowIntro(); // Compile Error
  cout<<cnt<<endl;
 }
 void ShowIntro() const {
  cout<<"현재 count의 값 : "<<endl;
 }
};
int main()
{
 Count count;
 count.Increment();
 count.ShowData();
 return 0;
}

--> const 함수는 그 안에서 멤버변수를 변경할수 없다.
      그리고 const 함수가 아닌 함수는 호출할수 없다.

3. const 객체
// 예제 6-4.cpp const 객체 예제
#include<iostream>
using namespace std;
class Student
{
 int id;
 int age;
 char name[20];
 char major[30];
public:
 Student(int _id, int _age, char* _name, char* _major)
 {
  id=_id;
  age=_age;
  strcpy(name, _name);
  strcpy(major, _major);
 }
 void SetMajor(char * _major){
  strcpy(major, _major);
 }
 void ShowData() const
 {
  cout<<"이름: "<<name<<endl;
  cout<<"나이: "<<age<<endl;
  cout<<"학번: "<<id<<endl;
  cout<<"학과: "<<major<<endl;
 }
};
int main()
{
 const Student Kim(200577065, 20, "Kim", "Computer Eng.");
 // Kim.SetMajor("Internet Eng.");
 Kim.ShowData();
 cout<<endl;
 return 0;
}

--> const 객체는 const 가아닌 함수는 호출할수 없다.
      또한 멤버 변수를 변경할수 없다.

4. static 멤버변수
/* 예제 6-6.cpp */
#include<iostream>
using namespace std;
class Student {
 int id;
 int age;
 static int Student_count;
 char name[20];
 char major[30];
public:
 Student(int _id, int _age, char* _name, char* _major) {
  //Student_count = 0; // 초기 0으로 초기화
  id=_id;
  age=_age;
  strcpy(name, _name);
  strcpy(major, _major);
  Student_count++;
  cout << Student_count << " 번째 Student 객체 생성" << endl;
 }
};
int Student::Student_count = 0; // 이와같이 선언되어야 합니다.
int main() {
 Student Kim(200577065, 20, "Kjm", "Computer Eng.");
 Student Cho(200577067, 21, "Cho", "Multimedia Eng.");
 Student Hong(200577068, 22, "Hong", "Internetsoft Eng.");
 return 0;
}
--> static 멤버변수는 위와같이 초기화 되어야지 오류가 안난다.

- 인라인 함수
inline void Func1() {
  cout << "이곳은 인라인 함수1입니다.\n";
}

int main() {
  // inline 함수호출
  count << "인라인 함수 1을 호출"<<endl;
  Func1();
  return 0;
}


--> 인라인 함수는 위와같은 형태로 쓰고 이것은 컴파일될때 그냥 호출되는부분에 포함되게 된다.

'2007년1학기 > C++프로그래밍' 카테고리의 다른 글

C++ 강의노트  (54) 2007.05.02
C++ 강의노트 5,6장  (22) 2007.04.24
C++ 6강 강의자료  (24) 2007.04.11
C++ 5강 강의자료  (25) 2007.04.04
C++ 프로그래밍4강  (43) 2007.03.28
C++ 에서 달라진점  (21) 2007.03.21
by cranix 2007.04.11 14:26
by cranix 2007.04.11 09:12

'2007년1학기 > 이산수학' 카테고리의 다른 글

조합론의 이해  (24) 2007.04.05
이산수학  (777) 2007.03.09
by cranix 2007.04.05 12:08

- friend 함수예제
// friend 함수의 예
#include<iostream>
using namespace std;
 class myclass {
 int n, d;
public:
 myclass(int i, int j) { n = i; d = j; }
 // myclass의 friend를 선언한다.
 friend int isfactor(myclass ob);
};
/* 다음은 friend 함수의 정의. 이것은 d가 n의 인
수이면 참을 반환한다. 키워드 friend가
isfactor()의 정의에서는 사용되지 않는다는
점에 유의하세요. */
int isfactor(myclass ob) {
 if (!(ob.n % ob.d)) return 1;
 else return 0;
}
int main() {
 myclass ob1(10, 2), ob2(13, 3);
 if (isfactor(ob1)) cout << "2 is a factor of10\n";
 else cout << "2 is not a factor of 10\n";
 if (isfactor(ob2)) cout << "3 is a factor of 13\n";
 else cout << "3 is not a factor of 13\n";
 return 0;
}

- 위에서처럼 friend 함수는 객체의 멤버함수가 아니고 전역함수이다.
  단지 해당 객체의 private 속성의 멤버변수를 얻어낼수 있게 하기위해 지정하는것이다.
- friend 는 클래스로도 가능하고 어떤 클래스의 멤버함수로도 가능하다



실습문제 : 연습문제 5-1, 연습문제 5-5, 연습문제 5-8
일반과제 : 실습문제(은행계좌 Ver2)

'2007년1학기 > C++프로그래밍' 카테고리의 다른 글

C++ 강의노트 5,6장  (22) 2007.04.24
C++ 6강 강의자료  (24) 2007.04.11
C++ 5강 강의자료  (25) 2007.04.04
C++ 프로그래밍4강  (43) 2007.03.28
C++ 에서 달라진점  (21) 2007.03.21
C++ 강의노트 3장  (40) 2007.03.21
by cranix 2007.04.04 13:59

- BETWEEN 연산자는 AND 연산자로 묶어서 검색한것보다 속도가 약간 빨라진다.

- IN 연산자는 OR 연산을 하기때문에 속도면에선 이득이 없다.

- ESCAPE 옵션은 LIKE 연산에 사용되는 와일드 문자 (%,_) 자체를 포함하는 문자열을 검색할때, 와일드 문자를 일반 문자처럼 취급하기위한 옵션

WHERE name LIKE '황보\_%' ESCAPE '\';

- WHERE name = NULL 로 하면 name 의 문자열이 NULL 인 것을 찾는다.
  --> = NULL 과  IS NULL 은 다르다.

- 임의의 두수를 더하는데 둘중 하나가 NULL 이면 답은 무조건 NULL 이다.

- 연산자 우선순위 :
1. 비교연산자(=,!=,<>,...), SQL 연산자 (BETWEEN,IN,LIKE,IS NULL)
2. NOT
3. AND
4. OR

- 집합연산자 :
1. UNION : DISTINCT 해서 출력
2. UNION ALL : 중복되는것도 중복된대로 출력
3. MINUS : 차집합
4. INTERSECT : 교집합
--> 집합연산자는 컬럼의수가 틀리면 불가능하다.

- 컬럼번호로 정렬하기
order by [번호]

'2007년1학기 > DB프로그래밍' 카테고리의 다른 글

DB 프로그래밍  (708) 2007.04.03
DB 플밍 과제  (55) 2007.04.03
DB 플밍 과제  (42) 2007.03.27
DB 프로그래밍 3장 SQLPLUS  (800) 2007.03.20
DB 프로그래밍1  (720) 2007.03.13
DB 프로그래밍  (33) 2007.03.13
by cranix 2007.04.03 12:35

<과제 1>
PreparedStatement를 이용하여, 학번(STUDNO)이 1010과 20101학생의 이름을 출력하시오.
select name from student where studno=?

'2007년1학기 > DB프로그래밍' 카테고리의 다른 글

DB 프로그래밍  (708) 2007.04.03
DB 플밍 과제  (55) 2007.04.03
DB 플밍 과제  (42) 2007.03.27
DB 프로그래밍 3장 SQLPLUS  (800) 2007.03.20
DB 프로그래밍1  (720) 2007.03.13
DB 프로그래밍  (33) 2007.03.13
by cranix 2007.04.03 10:40
| 1 2 3 4 5 |