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

영어1 해석본  (43) 2007.04.19
영어 완전기초  (32) 2007.03.19
영어 해석  (21) 2007.03.18
영어 1 퀴즈자료  (28) 2007.03.18
by cranix 2007. 4. 26. 00:29

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

32+4*35*-

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

컴구조 과제  (757) 2007.03.27
by cranix 2007. 4. 25. 09:44

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

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

영어1 해석본이랍니다!

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

영어1 문법들  (28) 2007.04.26
영어 완전기초  (32) 2007.03.19
영어 해석  (21) 2007.03.18
영어 1 퀴즈자료  (28) 2007.03.18
by cranix 2007. 4. 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++ 5강 강의자료  (25) 2007.04.04
C++ 프로그래밍4강  (43) 2007.03.28
C++ 에서 달라진점  (21) 2007.03.21
by cranix 2007. 4. 11. 14:26

'2007년1학기 > 자료구조및실습' 카테고리의 다른 글

자료구조3  (23) 2007.03.28
자료구조2  (723) 2007.03.21
자료구조및 실습  (19) 2007.03.21
by cranix 2007. 4. 11. 09:12

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

이산수학  (776) 2007.03.09
by cranix 2007. 4. 5. 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++ 프로그래밍4강  (43) 2007.03.28
C++ 에서 달라진점  (21) 2007.03.21
C++ 강의노트 3장  (40) 2007.03.21
by cranix 2007. 4. 4. 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 플밍 과제  (55) 2007.04.03
DB 플밍 과제  (42) 2007.03.27
DB 프로그래밍 3장 SQLPLUS  (799) 2007.03.20
DB 프로그래밍1  (719) 2007.03.13
DB 프로그래밍  (33) 2007.03.13
by cranix 2007. 4. 3. 12:35

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

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

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