Tom a fellow Aggie wrote the following class class Box priv
Tom, a fellow Aggie, wrote the following class:
class Box {
private:
int num;
void set_num(int val) {
num = val;
}
public:
Box() {
num = 0;
}
Box(int val) {
num = val;
}
int get_num() {
return num;
}
};
int main(void) {
Box box(1);
int val = box.get_num();
box.set_num(val + 1);
}
Tom tried running the above code but it did not compile. What is wrong with Tom’s code, and how do you fix it?
Solution
solution.cpp
#include <iostream>//header for input output function
 using namespace std;//it tells the compiler to link std namespace
 class Box {
 public:
 int num;
 void set_num(int val) {
 num = val;
 cout<<num;
 }
 public:
 Box() {//constructor
 num = 0;
 }
 
 Box(int val) {//constructor with argumens
 num = val;
 }
 
 int get_num() {
 return num;
 }
 };
 
 int main(void) {//main function
 Box box(1);
 int val = box.get_num();
 box.set_num(val + 1);
 }
output
2


