Yêu cầu mọi thông tin sao chép từ blog này phải được ghi rõ đầy đủ: Thông tin được sao chép từ "http://www.dangngochoangthanh.blogspot.com".

Cool wallpaper http://www.fancymessage.com

EMOJI KEYBOARD PRO http://emojiselector.com

THƯ VIỆN HÌNH ĐỘNG FLASH ANIMATION: http://flashanimationlibrary.blogspot.ru/

Hệ thống học trực tuyến đang được phát triển và sẽ đưa vào sử dụng vào cuối năm nay. Hãy xem qua một số demo của Học Trực Tuyến.


HỌC TRỰC TUYẾN ĐÃ CUNG CẤP PHIÊN BẢN TRUY CẬP QUA MOBILE http://dangngochoangthanh.blogspot.com/?m=1

XEM KÊNH HỌC TRỰC TUYẾN TRÊN YOUTUBE



Search on This Blog

Saturday, September 11, 2010

Chồng chất hàm tạo

Cũng như các hàm khác trong C++ cho phép chồng chất hàm, hàm tạo cũng có thể bị chồng chất. Khi chồng chất hàm tạo thì danh sách tham số phải khác nhau (kiểu dữ liệu hoặc số lượng tham số). Bạn cần nhớ rằng, khi chồng chất hàm thì trình biên dịch sẽ gọi một hàm tương ứng với danh sách tham số của nó. Trong trường hợp chồng chất hàm tạo, thì quá trình gọi là tự động khi đối tượng được tạo ra, do đó, một hàm tạo sẽ được gọi tự động tương ứng với danh sách tham số của nó.
Chương trình Ví dụ
#include using namespace std;
class Humans{
string name;
int age;
public:
Humans(string, int);
string getName(void);
int getAge(void);
};
Humans::Humans (void){
name = “Default”;
age = 21;
}
Humans::Humans (string s, int a){
name = s;
age = a;
}
string Humans::getName(void){
return name;
}
int Humans::getAge(void){
return age;
}
int main(){
Humans man(“Jack”, 21);
Humans default;
cout<<”The man: “<<<”, age “<<
cout<<”The default: “<<<”, age “<
return 0;
}
The man: Jack, age 21 The default: Default, age 21

Giải thích: trong trường hợp ví dụ trên, để tạo đối tượng thuộc lớp Humans, ta có thể sử dụng một trong hai hàm tạo tương ứng: Humans(void) hoặc Humans(string, int). Nếu gọi theo phương thức hàm tạo không đối số, thì tên gọi và tuổi sẽ được tạo mặc định. Còn nếu gọi theo phương thức có đối số, thì tên gọi và tuổi sẽ được tạo theo tham số truyền vào. Bạn cũng cần lưu ý trong cách gọi hàm tạo, đối với hàm tạo có đối số, thì sau tên đối tượng, bạn cung cấp tham số tương ứng với tham số hàm tạo bên trong dấu (). Còn đối với hàm tạo không đối số, thì bạn hãy khai báo nó như khai báo biến mà không hề có bất kì dấu () nào.
Humans man();   //Sai Humans man;      //Đúng
Khi bạn không khai báo một hàm tạo mặc định không tham số và bạn chỉ khai báo hàm tạo mặc định có tham số, thì việc bạn khai báo một đối tượng theo cách Humans man; là không được phép. Nếu bạn không tạo ra một hàm tạo nào, thì điều này là hợp lệ.

No comments:

Post a Comment