Menu
CoddyTech

Namespace và phạm vi

Thuộc phần Lập trình hướng đối tượng trong hành trình C++ của Coddy. Bài học 4 trên 104.

Namespace nhóm các đoạn code liên quan với nhau và ngăn xung đột tên. Toán tử phân giải phạm vi :: truy cập các mục bên trong một namespace.

Tạo một không gian tên

namespace MathTools {
    int add(int a, int b) {
        return a + b;
    }
}

Truy cập bằng toán tử phân giải phạm vi (scope resolution) ::

int result = MathTools::add(5, 3);  // result = 8

Dùng chỉ thị using để không phải nhập không gian tên mỗi lần

using namespace MathTools;
int result = add(5, 3);  // Tương đương với MathTools::add(5, 3)

Không gian tên std

std::cout << "Hello" << std::endl;
// hoặc
using namespace std;
cout << "Hello" << endl;

Không gian tên giúp sắp xếp code và tránh trùng tên. Không gian tên std chứa mọi tính năng của thư viện chuẩn C++ như cout, cin, string và endl.

challenge icon

Thử thách

Trung bình

Tạo các hàm bên trong không gian tên MathTools:

  • add(int a, int b): trả về tổng
  • multiply(int a, int b): trả về tích

Khai báo chúng trong MathTools.h và triển khai trong MathTools.cpp.

Tự làm thử

#include <iostream>
#include "MathTools.h"

int main() {
    int a, b;
    std::cin >> a >> b;
    
    std::cout << "Add: " << MathTools::add(a, b) << std::endl;
    std::cout << "Multiply: " << MathTools::multiply(a, b) << std::endl;
    return 0;
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Lập trình hướng đối tượng

Tự luyện tập: Trình biên dịch C++ online