Giải thích sự khác nhau giữa một class và một struct trong c++?

Lớp học và đối tượng là gì:

Đây là hai khái niệm quan trọng liên quan đến Lập trình hướng đối tượng và chúng là cơ sở để đóng khung các chức năng và dữ liệu truyền sang các chức năng khác. Để hiểu rõ hơn, chúng ta có thể tương quan nó với một ví dụ thực tế. Một Class có thể được coi là một cửa hàng và một Object có thể là bất kỳ cửa hàng riêng lẻ nào, cụ thể như tạp hóa, văn phòng phẩm, trái cây, v.v ... Tất cả các đối tượng đều có chung các thuộc tính của lớp chính - cửa hàng - và lần lượt, các đối tượng có thể có các thuộc tính độc quyền của riêng chúng như thiết kế cụ thể, ánh sáng, v.v ... Thông qua các đối tượng, chúng ta thực sự có thể sử dụng lớp; chúng tạo thành các thể hiện của một lớp.

Cú pháp của một lớp

Cửa hàng lớp học

những thứ chuỗi công khai;

thiết kế chuỗi công cộng;

Cú pháp của một đối tượng

Cửa hàng tạp hóa = Cửa hàng mới ();

Cửa hàng Văn phòng phẩm = Cửa hàng mới ();

Struct và class khác nhau như thế nào?

programming
c++
hellotrun (trun) September 11, 2017, 6:14pm #1

Struct :

  • Struct là kiểu dữ liệu tham trị được lưu trong Stack.
  • Struct không hỗ trợ kế thừa
  • Khi struct được khởi tạo với từ khóa new, khi đó một constructor (hàm khởi tạo) được gọi để khởi tạo các trường trong cấu trúc.
  • Khi struct được khởi tạo không dùng từ khóa new thì không có constructor(hàm khởi tạo) được gọi, do vậy người dùng cần khởi tạo tất cả các trường trước khi sử dụng.
  • Struct phù hợp với các cấu trúc dữ liệu nhỏ
    Classs :
  • Class là kiểu dữ liệu tham chiếu được lưu trong heap.
  • class có hỗ trợ kế thừa.
  • class phù hợp với các cấu trúc dữ liệu phức tạp.

mong mọi người đính chính lại và bổ sung thêm !!! xin cám ơn

duonghau (Dương Tiến Thịnh) October 26, 2015, 9:51am #2

Mình hiểu thì struct chỉ chứa dữ liệu, class thì mở rộng hơn, ngoài chứa dữ liệu nó còn chứa các hàm xử lý các dữ liệu đó.

Nguyen_Quang_Khai (Nguyễn Quang Khải) September 11, 2017, 5:33pm #3

Struct với class ko phải được lưu ở stack hay là heap đâu, object của nó được lưu ở stack hoặc heap, phụ thuộc vào việc cấp phát của mình.
Struct cũng có kế thừa, đa hình, trừu tượng, rất giống class, chỉ khác ở phạm vi hoạt động mặc định của class là private còn struct thì là public.

1 Like
le_dien (Le Dien) April 19, 2019, 2:07am #4

Viết tầm bậy mà cũng viết. Struct mà không cho kế thừa. Thử test coi có kế thừa không rồi hãy phát biều như đúng rồi.Gì mà struct lưu trong stack class trong heap.Học cho kỹ bva2 nhiều rồi hãy phát biểu nhé

Duong_Act (Lão Hạc) April 21, 2019, 3:07am #6

Cũng nhiều cái viết vớ vẩn thật

Giải thích sự khác nhau giữa một class và một struct trong c++?

Sự khác biệt giữa struct và class trong C ++ là gì?

Giải thích sự khác nhau giữa một class và một struct trong c++?
Đỗ Đức Duy · Đỗ Đức Duy 14:09 18/09/2008
2 ngày trước

Câu hỏi này đã được hỏi trong ngữ cảnh của C # /. Net .

Bây giờ tôi muốn tìm hiểu sự khác biệt giữa một cấu trúc và một lớp trong C ++. Vui lòng thảo luận về sự khác biệt kỹ thuật cũng như lý do để chọn cái này hay cái khác trong thiết kế OO.

Tôi sẽ bắt đầu với một sự khác biệt rõ ràng:

  • Nếu bạn không chỉ định public:hoặc private:, các thành viên của cấu trúc được công khai theo mặc định; các thành viên của một lớp là riêng tư theo mặc định.

Tôi chắc chắn có những khác biệt khác được tìm thấy trong các góc tối của đặc tả C ++.

  • c++
  • oop
  • class
  • struct
  • c++-faq
406 hữu ích 4 bình luận 332k xem chia sẻ

Sự khác biệt giữa lớp và cấu trúc trong C #

Giải thích sự khác nhau giữa một class và một struct trong c++?
Sự khác biệt giữa lớp và cấu trúc trong C # - Công Nghệ

Sự khác biệt giữa Struct và Class trong Swift

Đây là câu hỏi mà bạn rất dễ gặp phải trong các cuộc phỏng vấn lập trình viên iOS. Vậy Struct và Class có điểm gì khác gì nhau ? Chúng ta sẽ phân tích trong bài viết hôm nay
Trước khi đi vào phân biệt 2 khái niệm trên, hãy nhìn vào những điểm tương đồng giữa chúng.