Skip to content

Commit d6e24a4

Browse files
committed
149 interfaces
1 parent 52902a7 commit d6e24a4

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

Diff for: 19Interfaces_1.cpp

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
#include <vector>
2+
#include <iostream>
3+
4+
class AdvancedArithmetic {
5+
public:
6+
virtual int divisorSum(int n) = 0;
7+
};
8+
9+
class Calculator : public AdvancedArithmetic {
10+
public:
11+
int divisorSum(int n) {
12+
std::vector<int> divisors;
13+
int i {n};
14+
for (; i > 0; i--) {
15+
if (n % i == 0)
16+
divisors.push_back(i);
17+
}
18+
int divisorSum {0};
19+
for (int n : divisors)
20+
divisorSum += n;
21+
return divisorSum;
22+
}
23+
};
24+
25+
int main() {
26+
int n;
27+
std::cin >> n;
28+
AdvancedArithmetic *myCalculator {new Calculator()};
29+
int sum {myCalculator->divisorSum(n)};
30+
std::cout << "I implemented: AdvancedArithmetic\n" << sum << '\n';
31+
return 0;
32+
}

0 commit comments

Comments
 (0)