Untitled
unknown
c_cpp
a year ago
1.2 kB
7
Indexable
#include <iostream>
#include <stdexcept>
class DoiTuongGioiHan {
private:
static int so_luong_doi_tuong;
static const int gioi_han_doi_tuong = 3;
DoiTuongGioiHan() {
so_luong_doi_tuong++;
}
public:
~DoiTuongGioiHan() {
so_luong_doi_tuong--;
}
static DoiTuongGioiHan* taoDoiTuong() {
if (so_luong_doi_tuong >= gioi_han_doi_tuong) {
throw std::runtime_error("Không thể tạo nhiều hơn 3 đối tượng của lớp DoiTuongGioiHan");
}
return new DoiTuongGioiHan();
}
static int laySoLuongDoiTuong() {
return so_luong_doi_tuong;
}
};
int DoiTuongGioiHan::so_luong_doi_tuong = 0;
int main() {
try {
DoiTuongGioiHan* doi_tuong_1 = DoiTuongGioiHan::taoDoiTuong();
DoiTuongGioiHan* doi_tuong_2 = DoiTuongGioiHan::taoDoiTuong();
DoiTuongGioiHan* doi_tuong_3 = DoiTuongGioiHan::taoDoiTuong();
DoiTuongGioiHan* doi_tuong_4 = DoiTuongGioiHan::taoDoiTuong();
} catch (const std::exception& e) {
std::cerr << e.what() << std::endl;
}
return 0;
}
Editor is loading...
Leave a Comment