08. c++ - classes and objects
TRANSCRIPT
C bn v C++
1
EE3490: K thut lp trnh HK1 2011/2012 o Trung Kin H Bch khoa H Ni
S lc v C++
B sung cc tnh nng mi so vi C:
Hng i tng (OOP)
Lp trnh khi qut (template) Nhiu thay i nh khcFile m ngun thng dng ui .cpp Hm main() c th c kiu tr v l void: void main() { } Dng // ch thch n ht dng: dien_tich = PI*r*r; // PI = 3.14 C sn kiu bool v cc gi tr false, true: bool b1 = true, b2 = false;
Mt s thay i nh:
Bin, hng trong C++ c th c khai bo bt k u trong hm (khng gii hn u hm nh C), k c trong vng lp for Php chuyn kiu c th vit nh c php gi hm: int(5.32) Khng cn thm cc t kho enum, struct, union khi khai bo binEE3490: K thut lp trnh HK1 2011/2012 o Trung Kin H Bch khoa H Ni
2
Vi khi nim mi t nh hn
Kiu tham chiu (reference) : c bn cht con tr
int a = 5; int& b = a; b = 10; // a int& foo(int& x) { x = 2; return int y = 1; foo(y); foo(y) = 3;namespace ABC { int x; int setX(int y) }
= 10 x; } // y = 2 // y = 3
Namespace
{ x = y; }
ABC::setX(20); int z = ABC::x;using namespace ABC; setX(40);3EE3490: K thut lp trnh HK1 2011/2012 o Trung Kin H Bch khoa H Ni
Vi khi nim mi t nh hn (tip)
Cp pht b nh ng Dng ton t new cp pht
int* a = new int; float* b = new float(5.23); long* c = new long[5];delete a; delete[] c;
Ton t delete hu
Ch : khng c dng ln ln malloc()/free() vi new/delete:
Cp pht bng malloc() th phi dng free() hu Cp pht bng new th phi dng delete huint sum(int a, int b) {...} int sum(int a, int b, int c) double sum(double a, double b) double sum(double a, double b, double c)
nh ngha chng hm (hm cng tn, khc tham s):
{...} {...} {...}
4
X l ngoi l try ... catch: t tm hiu thm
EE3490: K thut lp trnh HK1 2011/2012 o Trung Kin H Bch khoa H Ni
Chng trnh C++ u tin
Chng trnh v d:
#include using namespace std; void main() { int n; cout > n; cout