1. Hàm khởi tạo của lớp dẫn xuất
Khi khai báo một đối tượng có kiểu lớp dẫn xuất từ lớp cơ sở khác. Chương trình sẽ tự động gọi hàm khởi tạo của lớp dẫn xuất. Tuy nhiên, thứ tự gọi sẽ bắt đầu gọi từ hàm tạo lớp cơ sở, sau đó tới hàm tạo lớp dẫn xuất.
2. Cú pháp:
<Tên lớp dẫn xuất>([Các tham số]):<Tên lớp cơ sở>([Các đối số]){
…//Khởi tạo các thuộc tính bổ sung của lớp dẫn xuất
}
3. Ví dụ:
- Định nghĩa lớp Car có 3 thuộc tính speed, mark và price với 2 hàm khởi tạo.
- Định nghĩa lớp Bus có thêm thuộc tính label là số hiệu của tuyến xe buýt. Lớp Bus sẽ được cài đặt hai hàm khởi tạo tường minh, gọi đến 2 hàm khởi tạo của lớp Car.
//Định nghĩa lớp Car
class Car{
private:
int speed;
char mark[20];
float price;
public:
Car();
Car(int, char[], float);
};
Car::Car(){
speed=0;
strcpy(mark,””);
price=0;
}
Car::Car(int s, char m[], float p){
speed=s;
strcpy(mark,m);
price=p;
}
//Định nghĩa lớp Bus
class Bus:public Car{
private:
int label;
public:
Bus();
Bus(int, char[], float, int);
};
Bus::Bus():Car(){
label=0;
}
Bus::Bus(int s, char m[], float p, int l):
Car(s,m,p){
label=l;
}
» Tin mới nhất:
» Các tin khác: