Em có đoạn code java sau:
Code:
public class A
{
}
public class B
{
private A as;
public B(A as)
{
this.as = as;
// tạo phương thức khởi tạo cho lớp B
}
}
khi tạo đối tượng trong java thì ta tạo đối tượng của lớp A trước sau đó tạo đối tượng lớp B và truyền tham số khởi dựng vào (tham số là đối tượng của lớp A)
Do lập trình java nhiều nên khi chuyển sang C++ em muốn làm tương tự như vậy nhưng trình dịch báo lỗi, cụ thể đoạn mã của em như sau:
Code:
class A
{
private :
public :
}
class B
{
private :
A as;
public :
B(A); // tạo phương thức khởi dựng cho lớp B với đối số truyền vào là đối tượng lớp A
friend class A
}
B::B(A as)
{
this.as = as;
}
mong mọi người có thể giải thích cho em cơ chế làm việc của C++ như thế nào