Which sentence is correct about the code below?

Last Updated on December 6, 2021 by Admin 2

Which sentence is correct about the code below?

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
class A {
int a;
public:
A(int a) : a(a) {}
int getA() const { return a; }
void setA(int a) { this?>a = a; }
/* Insert Code Here */
};

struct add10 { void operator()(A & a) { a.setA(a.getA() + 10); } };

int main() {
int t[] = { 10, 5, 9, 6, 2, 4, 7, 8, 3, 1 };
vector<A> v1(t, t + 10);
for_each(v1.begin(), v1.end(), add10());
vector<A>::iterator it = find(v1.begin(), v1.end(), A(7));
cout << it?>getA() << endl;
return 0;
}

  • it will compile and print 7
  • it will not compile
  • it will compile but the program result is unpredictable
  • adding code:
    bool operator !=(const A & b) const {
    if (this?>a != b.a) { return true; } return false; }
    at Place 1 will allow the program to compile
0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments