Junior — Middle
C++та таза виртуал функцияларды камтитин жана түз түз түзүү мүмкүн эмес класс аныктоого болобу?
sobes.tech AI
AIден жооп
Ооба, C++та таза виртуалдуу функцияларды камтыган класс аныктоого болот, жана мындай класс түздөн-түз түзүлө албайт. Бул класс абстракттуу класс деп аталат. Ал интерфейс же негизги класс катары кызмат кылат жана мурас алгандар бардык таза виртуалдуу функцияларды ишке ашырышы керек.
Мисал:
class Interface {
public:
virtual void doSomething() = 0; // таза виртуалдуу функция
virtual ~Interface() = default;
};
// Interface объектисин түзүү мүмкүн эмес:
// Interface obj; // ката түзүү
class Implementation : public Interface {
public:
void doSomething() override {
// ишке ашыруу
}
};
int main() {
Implementation impl;
impl.doSomething();
}