Toán Tử ép Kiểu (casting) Trong C++

Học C++ cơ bản và nâng cao
  • Cơ bản về C++
  • Giới thiệu C++
  • C++ là gì ?
  • Cài đặt C++
  • Cú pháp C++ cơ bản
  • Comment
  • Kiểu dữ liệu
  • Các kiểu biến
  • Phạm vi biến
  • Hằng (Constant/Literal)
  • Các kiểu Modifier
  • Lớp lưu trữ
  • Toán tử
  • Vòng lặp
  • Lệnh IF, Else, Switch
  • Hàm
  • Number
  • Mảng (Array)
  • Chuỗi (String)
  • Con trỏ
  • Tham chiếu
  • Date & Time
  • Input/Output cơ bản
  • Cấu trúc dữ liệu (Struct)
  • Hướng đối tượng trong C++
  • Lớp & Đối tượng
  • Tính kế thừa
  • Nạp chồng (Overloading)
  • Tính Đa hình
  • Tính trừu tượng
  • Tính bao đóng
  • Interface
  • Hoạt động C++ nâng cao
  • File I/O và Stream
  • Xử lý ngoại lệ
  • Bộ nhớ động
  • Namespace
  • Template
  • Preprocessor (Bộ tiền xử lý)
  • Xử lý tín hiệu
  • Đa luồng (Multithread)
  • Lập trình Web
  • Tài liệu tham khảo C++
  • Thư viện STL
  • Thư viện C++ chuẩn
  • Tài liệu C++ tham khảo
  • 12 bài tập C phổ biến
  • 140 bài tập C có giải hay nhất
  • 100 bài tập C++ có giải hay nhất
Toán tử ép kiểu (casting) trong C++ Trang trước Trang sau

Toán tử ép kiểu (một cast) trong C++ là một toán tử đặc biệt mà làm một kiểu dữ liệu này biến đổi thành kiểu dữ liệu khác. Toán tử ép kiểu là một toán tử một ngôi và có cùng độ ưu tiên như bất kỳ toán tử một ngôi nào khác trong C++.

Cú pháp được sử dụng thường xuyên của toán tử ép kiểu trong C++ là:

(kieu_du_lieu) bieu_thuc

Ở đây, kieu_du_lieu là kiểu dữ liệu bạn muốn. Dưới đây là một số toán tử ép kiểu được hỗ trợ bởi C++:

  • const_cast<kieu_du_lieu> (bieu_thuc): Toán tử const_cast được sử dụng để ghi đè const và/hoặc volatile. Kiểu dữ liệu bạn muốn phải giống như kiểu dữ liệu nguồn ngoại trừ sự sửa đổi của các thuộc tính const hoặc volatile trong một cast. Dạng ép kiểu này thao tác thuộc tính const của đối tượng đã truyền: hoặc được thiết lập hoặc gỡ bỏ.

  • dynamic_cast<kieu_du_lieu> (bieu_thuc): Toán tử dynamic_cast trong C++ thực hiện một ép kiểu tại runtime mà thẩm tra tính hợp lệ của cast. Nếu cast không thể được tạo ra, cast này thất bại và biểu thức ước lượng là null. Một toán tử dynamic_cast thực hiện các cast trên các kiểu đa hình và có thể ép một con trỏ A* thành một con trỏ B* chỉ khi đối tượng đang được trỏ tới thực sự là một đối tượng B.

  • reinterpret_cast<kieu_du_lieu> (bieu_thuc): Toán tử reinterpret_cast trong C++ thay đổi một con trỏ tới bất kỳ kiểu con trỏ khác. Nó cũng cho phép ép kiểu từ con trỏ tới một kiểu integer và ngược lại.

  • static_cast<kieu_du_lieu> (bieu_thuc): Toán tử static_cast trong C++ thực hiện một cast không có tính đa hình. Ví dụ, nó có thể được sử dụng để ép kiểu một con trỏ lớp cơ sở thành một con trỏ lớp kế thừa.

Tất cả toán tử ép kiểu trên sẽ được sử dụng trong khi làm việc với lớp và đối tượng. Bây giờ, bạn thử ví dụ sau để hiểu toán tử ép kiểu đơn giản trong C++. Copy và paste chương trình C++ sau trong tệp test.cpp, sau đó biên dịch và chạy chương trình:

#include <iostream> using namespace std; main() { double a = 15.65653; float b = 9.02; int c ; c = (int) a; cout << "Dong 1: Gia tri cua (int)a la: " << c << endl ; c = (int) b; cout << "Dong 1: Gia tri cua (int)b la: " << c << endl ; return 0; }

Chạy chương trình C++ trên sẽ cho kết quả như hình sau:

Toán tử ép kiểu trong C++

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS. Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Các bạn có thể mua thêm khóa học JAVA CORE ONLINE VÀ ỨNG DỤNG cực hay, giúp các bạn vượt qua các dự án trên trường và đi thực tập Java. Khóa học có giá chỉ 300K, nhằm ưu đãi, tạo điều kiện cho sinh viên cho thể mua khóa học.

Nội dung khóa học gồm 16 chuơng và 100 video cực hay, học trực tiếp tại https://www.udemy.com/tu-tin-di-lam-voi-kien-thuc-ve-java-core-toan-tap/ Bạn nào có nhu cầu mua, inbox trực tiếp a Tuyền, cựu sinh viên Bách Khoa K53, fb: https://www.facebook.com/tuyen.vietjack

Follow facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.

Bài học C++ phổ biến khác tại vietjack.com:

  • Cú pháp C++ cơ bản
  • Các kiểu Modifier trong C++
  • Toán tử trong C++
  • Vòng lặp trong C++
  • Lệnh IF, Else, Switch trong C++
  • Mảng (Array) trong C++
  • Chuỗi (String) trong C++
  • Con trỏ trong C++
  • Date & Time trong C++
Trang trước Trang sau toan_tu_trong_cplusplus.jsp Bài viết liên quan
  • 160 bài học ngữ pháp tiếng Anh hay nhất

  • 155 bài học Java tiếng Việt hay nhất

  • 100 bài học Android tiếng Việt hay nhất

  • 247 bài học CSS tiếng Việt hay nhất

  • 197 thẻ HTML cơ bản

  • 297 bài học PHP

  • 101 bài học C++ hay nhất

  • 97 bài tập C++ có giải hay nhất

  • 208 bài học Javascript có giải hay nhất

Học cùng VietJack
Tài liệu giáo viên

Trang web chia sẻ nội dung miễn phí dành cho người Việt.

Lớp 1-2-3 Lớp 4 Lớp 5 Lớp 6 Lớp 7 Lớp 8 Lớp 9 Lớp 10 Lớp 11 Lớp 12 Lập trình Tiếng Anh

Chính sách

Chính sách bảo mật

Hình thức thanh toán

Chính sách đổi trả khóa học

Chính sách hủy khóa học

Tuyển dụng

Liên hệ với chúng tôi

Tầng 2, số nhà 541 Vũ Tông Phan, Phường Khương Đình, Quận Thanh Xuân, Thành phố Hà Nội, Việt Nam

Phone: 084 283 45 85

Email: vietjackteam@gmail.com

Tải nội dung trên Google Play Tải nội dung trên IOS Store

CÔNG TY TNHH ĐẦU TƯ VÀ DỊCH VỤ GIÁO DỤC VIETJACK

Người đại diện: Nguyễn Thanh Tuyền

Số giấy chứng nhận đăng ký kinh doanh: 0108307822, ngày cấp: 04/06/2018, nơi cấp: Sở Kế hoạch và Đầu tư thành phố Hà Nội.

2015 © All Rights Reserved. DMCA.com Protection Status

Từ khóa » Cách ép Kiểu Dữ Liệu Trong C++