πŸ’» Dev & CSC++ Programming

C++ Programming Ch.9 Exercise 3 Solution

Problem: λ‹€μŒ 좔상 클래슀 LoopAdderκ°€ μžˆλ‹€. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 class LoopAdder { // 좔상 클래슀 string name; // λ£¨ν”„μ˜ 이름 int x, y, sum; // xμ—μ„œ yκΉŒμ§€μ˜ 합은 sum void read(); // x, y 값을 읽어 λ“€μ΄λŠ” ν•¨μˆ˜ void write(); // sum을 좜λ ₯ν•˜λŠ” ν•¨μˆ˜ protected: LoopAdder(string name="") { // λ£¨ν”„μ˜ 이름을 λ°›λŠ”λ‹€. μ΄ˆκΉƒκ°’μ€ "" this->name = name; } int getX() { return x; } int getY() { return y; } virtual int calculate() = 0; // 순수 가상 ν•¨μˆ˜. 루프λ₯Ό 돌며 합을 κ΅¬ν•˜λŠ” ν•¨μˆ˜ public: void run(); // 연산을 μ§„ν–‰ν•˜λŠ” ν•¨μˆ˜ }; void LoopAdder::read() { // x, y μž…λ ₯ cout << name << ":" << endl; cout << "처음 μˆ˜μ—μ„œ λ‘λ²ˆμ§Έ μˆ˜κΉŒμ§€ λ”ν•œλ‹€. 두 수λ₯Ό μž…λ ₯ν•˜μ„Έμš” >> "; cin >> x >> y; } void LoopAdder::write() { // κ²°κ³Ό sum 좜λ ₯ cout << x << "μ—μ„œ " << y << "κΉŒμ§€μ˜ ν•© = " << sum << " μž…λ‹ˆλ‹€" << endl; } void LoopAdder::run() { read(); // x, yλ₯Ό μ½λŠ”λ‹€ sum = calculate(); // 루프λ₯Ό λŒλ©΄μ„œ κ³„μ‚°ν•œλ‹€. write(); // κ²°κ³Ό sum을 좜λ ₯ν•œλ‹€. } Write a λ‹€μŒ main() ν•¨μˆ˜μ™€ Execution Result처럼 λ˜λ„λ‘ ForLoopAdder class that inherits from the LoopAdder class. ForLoopAdder 클래슀의 calculate() ν•¨μˆ˜λŠ” for 문을 μ΄μš©ν•˜μ—¬ 합을 κ΅¬ν•œλ‹€. ...

November 21, 2019 Β· 3 min Β· Sobamemil