Khi e gọi tree.add(x) thì hàm add(x) sẽ gọi đến hàm helper:
void add(T value) {
root = add(root, value);
}
Do đó nó tự động thực hiện thêm value(x e truyền vào) vào cây.
ý em là khi mình muốn gọi 1 hàm này trong hàm kia thì hàm bên trong 1 là phải khái báo tiền xử lý ,2 là phải định nghĩa bên trên hàm void add
ở đây em thấy ko cần làm như thế thì đó là do c++ cho phép khai báo được vậy trong class hay như nào ạ.E m cảm ơn a
Bên trong một lớp gọi hàm thành phần thoải mái không cần thứ tự hay khai báo như e đang thắc mắc. Đây là một tính chất của lập trình hướng đối tượng. E xem lại phần đó trong c++ nhé
6 Comments
anh có thể giải thích giúp cho e helper mà anh nói được ko ạ,tại sao ko cần khai báo tiền xử lý mà vẫn có thể gọi dc hàm add có 2 tham số ạ
Khi e gọi tree.add(x) thì hàm add(x) sẽ gọi đến hàm helper:
void add(T value) {
root = add(root, value);
}
Do đó nó tự động thực hiện thêm value(x e truyền vào) vào cây.
ý em là khi mình muốn gọi 1 hàm này trong hàm kia thì hàm bên trong 1 là phải khái báo tiền xử lý ,2 là phải định nghĩa bên trên hàm void add
ở đây em thấy ko cần làm như thế thì đó là do c++ cho phép khai báo được vậy trong class hay như nào ạ.E m cảm ơn a
Bên trong một lớp gọi hàm thành phần thoải mái không cần thứ tự hay khai báo như e đang thắc mắc. Đây là một tính chất của lập trình hướng đối tượng. E xem lại phần đó trong c++ nhé
dạ vâng thankiu anh nhiều ạ
Anh ơi, em đang thắc mắc return new Node(value) vì sao compiler của em lại báo lỗi ạ