/* Rafay Ahmad 23I-2526 */ #include using namespace std; int strL(char *s){ int length = 0; while(s[i] != '\0') length++; return length; } class IceCream{ char *flavor; char *topping; char *servingType; bool isReady; double price; public: IceCream(){} IceCream(char *flavor, char *topping, char *servingType, double price) : price(price), isReady(false){ int length = strL(flavor); this->flavor = new char[length+1]; for(int i=0;iflavor[i] = flavor[i]; this->flavor[length] = '\0'; length = strL(topping); this->topping = new char[length+1]; for(int i=0;itopping[i] = topping[i]; this->topping[length] = '\0'; length = strL(servingType); this->servingType = new char[length+1]; for(int i=0;iservingType[i] = servingType[i]; this->servingType[length] = '\0'; } IceCream(char *topping, double price) : flavor(nullptr), servingType(nullptr), isReady(false), price(price){ int length = strL(topping); this->topping = new char[length+1]; for(int i=0;itopping[i] = topping[i]; this->topping[length] = '\0'; } IceCream(const IceCream &iceCream) : isReady(iceCream.isReady), price(iceCream.price){ int length = strL(flavor); flavor = new char[length+1]; for(int i=0;iflavor = new char[length+1]; for(int i=0;iflavor[i] = flavor[i]; this->flavor[length] = '\0'; } void setTopping(char *topping){ int length = strL(topping); this->topping = new char[length+1]; for(int i=0;itopping[i] = topping[i]; this->topping[length] = '\0'; } void setServingType(char *servingType){ int length = strL(servingType); this->servingType = new char[length+1]; for(int i=0;iservingType[i] = servingType[i]; this->servingType[length] = '\0'; } void setPrice(double price){ this->price = price; } char* getFlavor(){ return flavor; } char* getTopping(){ return topping; } char* getServingType(){ return servingType; } double getPrice(){ return price; } void makeIceCream(){ if(topping != nullptr) isReady = true; } bool checkStatus(){ return isReady; } }; int main(){ // write code to check all capabaluty of icecream class return 0; }