Dùng chung 1 bn sao chép (1 vùng nh) chia scho ttc i tng ca lpó. c i tng ca lpó.
S%dng: <TênLp>::<TênDLiuThànhViên> Thng dùng m slngi tng. Thng dùng m slngi tng.
#include <iostream.h> class Student{
int ID; public:
static int nextID; Student(int id){ ID = id; nextID++; } int getNextID(){ return nextID; } }; int Student::nextID =0; void main(){ Student st(4); Student st1(5); Student st2(6);
cout<<"so doi tuong“ <<Student::nextID; cout<<"so doi tuong“
<<st.nextID; } Khai báo Khi to dliu thành viên t!nh Thành viên tnh Hàm thành viên t nh: Tngng vi hàm toàn cc.
Gi thông qua: <TênLp>::<TênHàm>
#include <iostream.h> class Student{
int ID; public:
static int nextID; Student(int id){
ID = id; nextID++; }
staticint getNextID(){ return nextID; } }; int Student::nextID =0; void main(){ Student st(4); Student st1(5); Student st2(6);
cout<<"so doi tuong“
<<Student::getNextID(); cout<<"so doi tuong“
<<st.getNextID(); }
i s thành viên n
Con Con trtr!!*this*this:
Là 1 thành viên∗n, có thuc tính là private.
Tr( ti chính bn thân i tng.
void PointPoint::OffsetPt(int x, int y) { xVal += x;
yVal += y; }
void PointPoint::OffsetPt(int x, int y) { this->xVal += x;
this->yVal += y; }
• Có nhng trng hp s%dng *this là dtha (Ví dtrên) • Tuy nhiên, có nhng trng hp phi s%dng con tr(*this*this
Các i tng c cp phát ng
Các i tng có th cp phátng gingnh các d liu khác b6ng toán t% new, nh các d liu khác b6ng toán t% new, delete.
Time *timePtr = new Time(1,26,30);…….. ……..
delete timePtr;
Toán t% new t ng gi hàm constructor vàtoán t% delete t ng gi hàm destructor toán t% delete t ng gi hàm destructor
class Image {
int width; int height;
int &widthRef = width; //...
};
Thành viên tham chi u
Tham chiu d liu thành viên:
class Image { int width; int height; int &widthRef; //... };
Image::Image (const int w, const int h)
: widthRef(width){ //………... } { //………... } Khai báo bình thng nhdliu thành viên Khi to SAI Khi toÚNG Mng các i tng S%dnghàm kh∀i to khôngi s (hàm xây dng mc nhiên - default constructor).
VD: Point pentagon[5];
S%dng bkhi to mng:VD: Point triangle[3] = VD: Point triangle[3] =
{ Point(4,8), Point(10,20), Point(35,15) };
Ngn gn:
Set s[4] = { 10, 20, 30, 40 };
t ng ng vi: