Rumah >pembangunan bahagian belakang >C++ >Aplikasi mod tunggal dan mod kilang dalam fungsi C++ membebankan dan menulis semula
Mod tunggal: Menyediakan contoh tunggal dengan parameter berbeza melalui lebihan fungsi. Corak kilang: Cipta pelbagai jenis objek melalui penulisan semula fungsi untuk memisahkan proses penciptaan daripada kelas produk tertentu. Aplikasi mod tunggal dan mod kilang dalam fungsi lebihan dan menulis semula dalam C++ Fungsi yang dimuatkan mempunyai senarai parameter yang berbeza dan oleh itu mengembalikan contoh yang berbeza.
class Singleton { public: static Singleton* getInstance() { if (instance_ == nullptr) { instance_ = new Singleton(); } return instance_; } static Singleton* getInstance(int arg) { if (instance_ == nullptr) { instance_ = new Singleton(arg); } return instance_; } private: Singleton() = default; Singleton(int arg); static Singleton* instance_; };
Kes praktikal
Buat dua objek tunggal: satu dengan parameter dan satu tanpa parameter.
int main() { Singleton* instance1 = Singleton::getInstance(); Singleton* instance2 = Singleton::getInstance(10); // 检查两个实例是否相同 if (instance1 == instance2) { std::cout << "两个实例相同" << std::endl; } else { std::cout << "两个实例不相同" << std::endl; } }Corak Kilang
Fungsi Mengganti
Corak kilang boleh dilaksanakan melalui penulisan semula fungsi Fungsi yang ditulis semula mempunyai pelaksanaan yang berbeza dalam subkelas, dengan itu mencipta objek yang berbeza.class Product { public: virtual ~Product() {} }; class ConcreteProductA : public Product { // ... }; class ConcreteProductB : public Product { // ... }; class Factory { public: virtual ~Factory() {} virtual Product* createProduct() = 0; }; class ConcreteFactoryA : public Factory { public: Product* createProduct() override { return new ConcreteProductA(); } }; class ConcreteFactoryB : public Factory { public: Product* createProduct() override { return new ConcreteProductB(); } };
Kes praktikal
Buat dua objek kilang, setiap objek mencipta jenis produk yang berbeza.rreeee
Atas ialah kandungan terperinci Aplikasi mod tunggal dan mod kilang dalam fungsi C++ membebankan dan menulis semula. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!