Những khác biệt giữ aC và C++

Một phần của tài liệu Template và điều khiển ngoại lệ (Trang 38 - 39)

C++ là một siêu tập hợp của C, vẫn có một số khác biệt giữa C và C++, sự khác biệt này có thể làm cho trình biên dịch C++ không biên dịch được một số chương trình C nào đó. Do đó lập trình viên cần nắm vững để viết một chương trình C++ được tốt.

Các khác biệt C C++

1/ Hàm không có đối số Nguyên mẫu của hàm có từ khoá void

Vd : char f1(void);

Từ khoá void là tuỳ ý Vd : char f1(); 2/ Hằng ký tự được tự động chuyển thành

số nguyên Không thể

3/ Biến toàn cục khai báo nhiều lần ở nhiều nơi

Không báo lỗi báo lỗi 4/ Tên (identifier) tối đa 31 ký tự 1024 ký tự

5/ Gọi hàm main() Từ bên trong chương trình Cho phép, không nên lạm dụng

1. Sự khác biệt giữa các biến tĩnh và các biến khác của một lớp là gì ?

2. Ngoài việc nhập/xuất theo mảng sử dụng bộ nhớ như một thiết nhập/xuất, còn có sự khác biệt nào giữa nó và nhập/xuất thông thường trong C++ hay không ?

3. Hãy viết một hàm int counter(int array[], int size) đếm số các phần tử của array có gía trị lẻ dưới dạng ngôn ngữ C, làm thế nào liên kết vào chương trình C++ có sử dụng lớp.

4. Hãy tạo ra hàm chung trả về giá trị mode của một mảng (giá trị mode là giá trị bắt gặp nhiều trong dãy) và số lần xuất hiện của nó.

5. Hãy tạo hàm tính và trả về giá trị tổng của các phần tử trong một mảng ?

6. Hãy tạo ra hàm chung thực hiện một số giải thuật sắp xếp (đã học trong môn Cấu trúc dữ liệu và thuật toán)

7. Viết chương trình định nghĩa lại lớp stack để nó lưu trữ một cặp gồm hai đối tượng có kiểu dữ liệu khác nhau.

8. Viết chương trình định nghĩa lại lớp stack để nó có khả năng xử lý các lỗi : full stack và empty stack .

9. Viết chương trình định nghĩa lại lớp array trong ví du 7.3 chương 3 , chuyển lớp này thành một lớp chung.

10. Viết chương trình định nghĩa hàm chung abs() trong ví du 3.7 chương 1, sao cho nó tính và trả về giá trị tuyệt đối của một giá trị thuộc bất kỳ kiểu nào.

Một phần của tài liệu Template và điều khiển ngoại lệ (Trang 38 - 39)