1. Trong khai báo một lớp có ít nhất hai hàm thiết lập ngầm định :
+ Hàm Thiết lập ngầm định
+Hàm Thiết lập sao chép ngầm định
sư khác nhau của phép gán và hàm sao chép ngầm định
+ khi sử dụng phép gán thì hai đối tượng được được khai báo ( Đã tồn tại ) ://Hàm thiết lập ngầm định
- point p(2,3) ;// hàm thiết lập hai tham số
- point q;
- q = p
+Sử dụng hàm sao chép
- point p(2,3);
- point q = p ;// sử dụng hàm sao chép
Tuy nhiên hai cách này thì đối tượng p và q là hoàn toàn giống nhau
Tóm lại : point q = p ;//Sẽ gọi hàm sao chép
2. Thành phần dữ liệu static
Để nhiều đối tượng chia sẽ cùng dữ liệu bằng cách đặt static
class A
{
static int a;
int b;
.................................
}
A pt1,pt2 ; pt2.a = pt1.a
- Chú ý : + không khởi tạo giá trị biến static trong class
+ Để khởi tạo giá trị của biến static bên ngoài class int A::a = 4;
3.hàm bạn và lớp bạn
class A
{
int x;
int y;
......................................
int func1(int a ,int b)
friend int func( A a , A b);
.....................................
}
int A::func1(int a , int b)
{
x = a;
y = b;
}
int func(A a , A b)
{
a.x = b.x;
a.y = b.y;
.............................}
hàm bạn không thể truy xuất vào dữ liệu của class : int func( int a ,int b){ x = y..}// friend =>sai
Hàm bạn không còn là phạm trụ của class
No comments:
Post a Comment