Trong C++, một lớp có thể được khai báo nhờ vào từ khóa struct hoặc từ khóa union. Bạn đã biết từ khóa struct dùng để khai báo kiểu dữ liệu struct và nó chứa các dữ liệu thành viên. Từ khóa union dùng để khai báo kiểu dữ liệu union và cũng chứa các dữ liệu thành viên. Tuy nhiên, chúng vẫn có thể chứa các hàm thành viên. Khi khai báo lớp bằng từ khóa struct, không có một sự khác biệt nào so với từ khóa class. Chỉ có duy nhất một sự khác biệt, đó là theo mặc định, những phương thức thành viên và dữ liệu thành viên nào không được chỉ định từ khóa quy định mức truy cập (private, protected, public) thì trong lớp được khai báo bằng từ khóa class sẽ là private còn trong lớp được khai báo bằng struct sẽ là public.
Còn đối với từ khóa union có vài sự khác biệt, tuy không thể dùng để khai báo một lớp hoàn hảo như từ khóa struct hay class, nhưng nó vẫn có thể chứa các phương thức bên trong nó. Nếu bạn không chỉ định từ khóa quy định mức truy cập, thì nó sẽ mặc định là public.
Nếu bạn viết một lớp với đầy đủ hàm tạo, hàm hủy và các phương thức khác bằng từ khóa class, thì khi thay thế bằng từ khóa struct, mọi thứ vẫn hoạt động bình thường. Nếu thay thế bằng từ khóa union, thì trình dịch sẽ thông báo lỗi. Sở dĩ như thế là bởi vì dù union cho phép chứa phương thức thành viên, nhưng nó không hỗ trợ khai báo prototype, không hỗ trợ dữ liệu kiểu string.
Lời khuyên: hãy luôn sử dụng từ khóa class để khai báo lớp.
Compile and Execute Java Online - Try and experience the best cloud computing where you can edit, compile, ... Compile Preview | Execute | Share Code.
Saturday, September 11, 2010
Subscribe to:
Post Comments (Atom)
Popular Posts
-
Bước 1 . Sử dụng ảnh rocket.psd để import vào trong dự án Flash của bạn. Xây dựng 2 layer để chứa tên lửa và phần nhiên liệu bị đốt cháy. Bư...
-
[FD's BlOg] - Adnet là một hệ thống quảng cáo trực tuyến trên nền tảng mạng Internet mà công cụ chính là các Website & Blog. Adnet ...
-
Đầu năm đầu tháng khai xuân một bài. Chúc mọi người một năm mới đầy sức khoẻ, may mắn, hạnh phúc. Mình về tết cũng rảnh đôi chút, sửa lại ch...
-
Let's say you're a developer on a C# app and just got a batch of new requirements. Let's also say that it has a fairly simple re...
-
Về cơ bản, screensaver là một tập tin có khả năng tự thực thi (executable). Do đó, nó có thể phát triển bằng hầu hết các ngôn ngữ lập trình....
-
I'd like to make a post about something that I think is one of the least utilized aspects of C#: custom collection initializers. Impleme...
-
I'm rarely a fan of posts that are in list form (e.g. "Top 10 tips for writing top 10 lists") but I seem to be in "list m...
-
Theo yêu cầu của bạn Mecuoi (www.mecuoi.com) [FD BlOg] - Lâu rồi ko giới thiệu cho các bạn các style menu nào mới, hôm nay mình sẽ lại ch...
-
Well, I failed. I got the core mechanics and everything done in just a couple days but I only had a few hours a week to work on music, sound...
-
Bước 1 . Tạo một hình tròn rỗng ruột, có kích thước là 8x8px, viền 0.1 và có màu viền là màu đỏ. Bước 2 . Bấm chọn hình tròn và nhấn phím ...
No comments:
Post a Comment