Code trên sai chỗ nào và giải thích kĩ giúp em tại saoCode:class B { public: void fun(){..} }; class D:private B { }; D d; B b; b.fun(); d.fun(); D *pd=&b; B *pb=&d;
Đã được chỉnh sửa lần cuối bởi stupid_genius : 08-08-2011 lúc 08:46 PM.
Come as guest...... stay as family......... because we're smiling together.
nhưng nếu chạy CT thì nó hiện lỗi này"error C2248: 'fun' : cannot access public member declared in class 'B'"
theo em hiểu thì private cho phép các hàm bên trong lớp có thể "tác động" vào đối tượng còn ngoài lớp thì không được. Mà public của lớp B dẫn xuất theo kiểu private thì các hàm thành phần ở public (class B) sẽ trở thành private ở class D.Nhưng tại sao "'fun' : cannot access public member declared in class 'B'"
Hay là do em hiểu sai vấn đề @@