Đoạn code sau có đúng mindset của OOP không?

Giả sử em có 2 class:

class A
{
private:
     B;
public:
    void SendMultiClient(int);
     int GetNumber()
     { 
         return B.SendNumber();
}
};

class B{
private:
   int n  = 0;
public:
  int SendNumber(){
    return n;
}
};

Cho em hỏi có đúng mindset của OOP không? Nếu có cách nào tốt hơn để cải thiện đoạn code trên không? Em cảm ơn.

Hẳn là bạn đang hỏi trong C++, chứ không phải C/C++. :slight_smile:
Vì:

  • C không phải là ngôn ngữ lập trình hướng đối tượng.
  • Quan trọng hơn là C không có cái class kia. :laughing:

B là tên class, dùng vậy là không đúng rồi. Dùng vầy nè. :kissing:

B b;
b.SendNumber();
3 Likes

Nếu đúng mindset của OOP C++ thì class A và class B là 2 file riêng biệt, và nếu sử dụng class B trước thì sử dụng forward declaration:

2 Likes

Do vừa viết vừa nghĩ nên không chuẩn syntax lắm :smiley:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?