CJCoding With Joseph
15free / daySign inCreate account
← Back to Question List
C++ Code Walkthrough #97

A Size That Is Part of the Type

mediumTemplates

📄 Code

Read carefully — what does this print?
1#include <iostream>
2#include <string>
3 
4template <typename T, int N>
5class FixedList {
6 T m_items[N];
7public:
8 FixedList(T fill) {
9 for (int i = 0; i < N; i++) {
10 m_items[i] = fill;
11 }
12 }
13 void set(int index, T value) { m_items[index] = value; }
14 int size() const { return N; }
15 void print() const {
16 for (int i = 0; i < N; i++) {
17 std::cout << "[" << m_items[i] << "]";
18 }
19 std::cout << "\n";
20 }
21};
22 
23int main() {
24 FixedList<int, 3> a(0);
25 FixedList<int, 5> b(7);
26 FixedList<std::string, 2> c("-");
27 a.set(1, 42);
28 c.set(0, "hi");
29 a.print();
30 b.print();
31 c.print();
32 std::cout << a.size() + b.size() + c.size() << "\n";
33 return 0;
34}

🎯 Your Answer