编写一个C++程序，该程序定义一个名为circle的类，该类具有一个用于存储圆的半径的私有成员变量，以及计算圆的面积和周长的公共成员函数。此外，还要确保有一个构造函数可以设置圆的半径。注意，要包含cmath库以使用pi。请以Markdown语法展示程序代码。程序应该包括适当的注释。
user
```markdown
```cpp
#include <iostream>
#include <cmath> // 包含cmath库确保可以使用pi值

class Circle {
private:
    double radius; // 存储圆的半径的私有成员变量

public:
    // 构造函数，用于初始化圆的半径
    Circle(double r) : radius(r) {}

    // 计算圆的面积的公共成员函数
    double area() const {
        return M_PI * radius * radius; // 使用M_PI作为pi值
    }

    // 计算圆的周长的公共成员函数
    double circumference() const {
        return 2 * M_PI * radius; // 计算周长
    }
};

int main() {
    double r;
    std::cout << "请输入圆的半径: ";
    std::cin >> r;

    Circle c(r); // 通过传入半径实例化Circle类

    std::cout << "圆的面积为: " << c.area() << std::endl; // 输出圆的面积
    std::cout << "圆的周长为: " << c.circumference() << std::endl; // 输出圆的周长

    return 0;
}
```
```
assistant