Cú pháp: Lớp đợc định nghĩa theo mẫu : class tên_lớp
{
private: [Khai báo các thuộc tính]
[Định nghĩa các hàm thành phần (phơng thức)] public : [Khai báo các thuộc tính]
[Định nghĩa các hàm thành phần (phơng thức)] } ;
Thuộc tính của lớp đợc gọi là dữ liệu thành phần và hàm đợc gọi là phơng thức hoặc hàm thành viên. Thuộc tính và hàm đợc gọi chung là các thành phần của lớp. Các thành phần của lớp đợc tổ chức thành hai vùng: vùng sở hữu riêng (private) và vùng dùng chung (public) để quy định phạm vi sử dụng của các thành phần. Nếu không quy định cụ thể (không dùng các từ khóa private và public) thì C++ hiểu đó là private. Các thành phần private chỉ đợc sử dụng bên trong lớp (trong thân của các hàm thành phần). Các thành phần public đợc phép sử dụng ở cả bên trong và bên ngoài lớp. Các hàm không phải là hàm thành phần của lớp thì không đợc phép sử dụng các thành phần này.
Khai báo các thuộc tính của lớp: đợc thực hiện y nh việc khai báo biến. Thuộc
tính của lớp không thể có kiểu chính của lớp đó, nhng có thể là kiểu con trỏ của lớp này,
Ví dụ:
class A {
A x; //Không cho phép, vì x có kiểu lớp A A *p ; // Cho phép, vì p là con trỏ kiểu lớp A } ;
Định nghĩa các hàm thành phần: Các hàm thành phần có thể đợc xây
dựng bên ngoài hoặc bên trong định nghĩa lớp. Thông thờng, các hàm thành phần đơn giản, có ít dòng lệnh sẽ đợc viết bên trong định nghĩa lớp, còn các hàm thành phần dài thì viết bên ngoài định nghĩa lớp. Các hàm thành phần viết bên trong định nghĩa lớp đợc viết nh hàm thông thờng. Khi định nghĩa hàm thành phần ở bên ngoài lớp, ta dùng cú pháp sau đây:
Kiểu_trả_về_của_hàm Tên_lớp::Tên_hàm(khai báo các tham số) { [nội dung hàm]
}
Toán tử :: đợc gọi là toán tử phân giải miền xác định, đợc dùng để chỉ ra lớp mà hàm đó thuộc vào.
Trong thân hàm thành phần, có thể sử dụng các thuộc tính của lớp, các hàm thành phần khác và các hàm tự do trong chơng trình.
Chú ý :
• Các thành phần dữ liệu khai báo là private nhằm bảo đảm nguyên lý che dấu thông tin, bảo vệ an toàn dữ liệu của lớp, không cho phép các hàm bên ngoài xâm nhập vào dữ liệu của lớp .
• Các hàm thành phần khai báo là public có thể đợc gọi tới từ các hàm thành phần public khác trong chơng trình .