Cau hoi ly thuyet lap trinh huong doi tuong OOP

18 29 0
Cau hoi ly thuyet lap trinh huong doi tuong OOP

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

CÂU HỎI LÝ THUYẾT Câu 1: Trình bày khái niệm đối tượng (object), lớp (class), thể (instance), thành phần liệu (data member), phương thức (method), thông điệp (message) Trả lời: Một lớp mẫu mô tả thông tin cấu trúc liệu, lẫn thao tác hợp lệ phần tử liệu Khi phần tử liệu khai báo phần tử lớp gọi đối tượng (Object) Các hàm định nghĩa hợp lệ lớp gọi phương thức (Method) chúng hàm xử lý liệu đối tượng lớp Một thể (Instance) vật thể có thực bên nhớ, thực chất đối tượng (nghĩa đối tượng cấp phát vùng nhớ) Thành phần liệu (data member) hay gọi liệu thành viên lớp liệu thể thuộc tính đặc trưng lớp Các phương thức định nghĩa lớp gọi đối tượng lớp Điều gọi gửi thơng điệp (Message) cho đối tượng Các thông điệp phụ thuộc vào đối tượng, đối tượng nhận thông điệp phải làm việc theo thơng điệp Các đối tượng độc lập với thay đổi biến thể đối tượng khơng ảnh hưởng biến thể đối tượng khác việc gửi thông điệp cho đối tượng khơng ảnh hưởng đến đối tượng khác Câu 2: Trình bày tốn tử xác định phạm vi lớp truy cập tới thành viên Ví dụ minh hoạ? Trả lời: Tốn tử định phạm vi “::” dùng định nghĩa hàm phương thức lớp, để khai báo lớp chủ phương thức định nghĩa Tốn tử định phạm vi cịn dùng để phân biệt thành phần trùng tên lớp sở khác Các toán tử sử dụng để truy cập thành viên lớp đồng với toán tử sử dụng để truy cập thành viên cấu trúc Toán tử lựa chọn thành viên dấu chấm (.) kết hợp với tên đối tượng hay với tham chiếu tới đối tượng để truy cập thành viên đối tượng Toán tử lựa chọn thành viên mũi tên (->)được kết hợp với trỏ trỏ tới truy cập để truy cập thành viên đối tượng VD: #include using namespace std; class connguoi { public: string hoten; int tuoi; public: void set(); }; void connguoi :: set() { cout hoten); } cout > this->tuoi; int main() { connguoi obj; // Khai báo obj đối tượng lớp connguoi obj.set(); } cout a = new double[d.n+1]; for (int i=0;ia[i] = d.a[i]; } Hàm huỷ hàm thành viên đặc biệt giống hàm tạo, dùng để hủy bỏ, giải phóng đối tượng hết phạm vi tồn Hàm hủy: - Khơng có đối số Khơng có giá trị trả Không định nghĩa lại Trùng tên với lớp có dấu ~ trước Thực số cơng việ trước hệ thống giải phóng nhớ Chương trình dich tư động sinh hàm hủy mặc định VD3: public: ~DT() { this->n=0; delete this->a; } Câu 4: Trình bày khái niệm nạp chồng tốn tử, cho ví dụ minh hoạ? Trả lời: Nạp chồng toán tử (Operator Overloading) dùng để định nghĩa tốn tử cho có sẵn c++ phục vụ cho liệu riêng người dùng tạo Các toán tử: *, / , +, -, , … VD: Xây dựng lớp phân số Nạp chồng toán tử + để cộng hai phân số class phanso { int ts,ms; public: phanso operator +(phanso p); }; phanso phanso::operator+(phanso p) { phanso kq; kq.ts=ts*p.ms+ms*p.ts; kq.ms=ms*p.ms; return kq; } Câu 5: Trình bày khái niệm thành viên tĩnh (static) lớp, cho VD minh hoạ? Trả lời: Khi khai báo thành viên static, có địa nhớ truy cập Khi khởi tạo đối tượng, thành phần static lưu giá trị đối tượng trước Các thành viên static truy cập thông qua tên lớp Các biến static gọi class variables, class fields, class-wide fields chúng khơng phải biến đối tượng mà tồn theo lớp VD: // Lop HDBH (hoa don ban hang) #include #include using namspace std; class HDBH { private: int shd ; char *tenhang ; double tienban ; static int tshd ; static double tstienban ; public: static void in() { cout

Ngày đăng: 16/02/2022, 21:02

Mục lục

  • Đặc tính của kế thừa

Tài liệu cùng người dùng

Tài liệu liên quan