Sunday, 29 July 2012

Tính Đóng Gói

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