What is the output of the following code fragment? class TweetleBeetle { public:
ID: 3664520 • Letter: W
Question
What is the output of the following code fragment?
class TweetleBeetle { public: TweetleBeetle() = default; TweetleBeetle( bool isAngry, bool hasPaddle, bool inPuddle) : isAngry_(isAngry), hasPaddle_(hasPaddle), inPuddle_(inPuddle) {} bool IsAngry() const { return isAngry_; } bool HasPaddle() const { return hasPaddle_; } bool InPuddle() const { return inPuddle_; } private: bool isAngry_ = false; bool hasPaddle_ = false; bool inPuddle_ = false; }; void PrintStatus(const TweetleBeetle& b1, const TweetleBeetle& b2) { std::cout << "Disposition of two beetles: "; std::cout << "It’s a tweetle beetle"; if (b1.IsAngry() && b2.IsAngry()) { if (b1.InPuddle() && b2.InPuddle()) std::cout << " puddle"; if (b1.HasPaddle() || b2.HasPaddle()) std::cout << " paddle"; std::cout << " battle. "; } else { std::cout << " friendship circle! "; } std::cout << " "; }
Page of 3 3
auto beetle1 = TweetleBeetle(); auto beetle2 = TweetleBeetle(true, false, false); PrintStatus(beetle1, beetle2); auto beetle3 = TweetleBeetle(true, false, false); PrintStatus(beetle2, beetle3); auto beetle4 = TweetleBeetle(true, true, true); PrintStatus(beetle3, beetle4); auto beetle5 = TweetleBeetle(true, true, true); PrintStatus(beetle4, beetle5);
Explanation / Answer
Output:
Disposition of two beetles:
It’s a tweetle beetle friendship circle!
Disposition of two beetles:
It’s a tweetle beetle battle.
Disposition of two beetles:
It’s a tweetle beetle paddle battle.
Disposition of two beetles:
It’s a tweetle beetle puddle paddle battle.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.