A good product is only half the story; considerate service is the other half. ExamCost pairs its 230 practice questions for the CPP exam with pre-sale consultation and after-sale support — expert answers before you buy, and help that continues after you do.
C++ Institute CPP Exam Overview:
| Certification Vendor: | C++ Institute (OpenEDG) |
|---|---|
| Exam Name: | C++ Certified Professional Programmer |
| Exam Number: | CPP-22-02 |
| Passing Score: | 70% |
| Exam Duration: | 65 minutes |
| Exam Price: | USD ~$325 |
| Related Certifications: | C++ Certified Associate Programmer (CPA) C++ Certified Entry-Level Programmer (CPE) |
| Available Languages: | English |
| Exam Format: | Multiple Choice, Single-choice and Multiple-choice |
| Real Exam Qty: | 40 |
| Sample Questions: | ![]() |
| Exam Way: | Delivered via Pearson VUE at authorized test centers or online proctored. |
| Pre Condition: | Recommended: C++ Certified Associate Programmer (CPA) or equivalent advanced C++ experience. |
| Official Syllabus URL: | https://cppinstitute.org/cpp |
C++ Institute CPP Exam Syllabus Topics:
| Section | Objectives |
|---|---|
| STL Functional Objects and Advanced I/O | -
|
| Associative Containers | -
|
| Algorithms – Non-Modifying and Modifying | -
|
| Sorting, Search, and Merge Algorithms | -
|
| Sequence Containers and Adapters | -
|
| Templates and Generic Programming | -
|
Frequently Asked Questions About the C++ Institute C++ Certified Professional Programmer Exam
Registration for the C++ Institute C++ Certified Professional Programmer exam costs USD ~$325, and passing requires 70%. Retakes cost the full fee again, so gauge your readiness with the ExamCost practice engines before booking your seat.
The written refund policy applies. Take the C++ Institute C++ Certified Professional Programmer exam within 60 days of purchase, and if you do not pass, ExamCost refunds you in full. The policy does not apply if the exam is taken within 3 days of purchase, if the exam was never actually taken, or to free materials or expired orders, and the candidate name must match the payer name. Submit a scan of your enrollment slip and the official Score Report PDF within 2 days of the exam; claims are processed within 7 days. Alternatively, exchange for two free exam products of equal value and keep your original update service. Orders arrive by email within 1 minute — contact support if nothing arrives within 2 hours.
Delivered via Pearson VUE at authorized test centers or online proctored. Registration for the C++ Institute C++ Certified Professional Programmer exam is handled through these official channels:
After booking, your ExamCost practice questions arrive by email within 1 minute — preparation can begin the same day.
The CPP exam is a C++ Institute certification exam validating the skills in the C++ Institute C++ Certified Professional Programmer syllabus shown above. It counts toward these credential paths: C++ Certified Associate Programmer (CPA), C++ Certified Entry-Level Programmer (CPE). Candidates at many career stages take it in 2026 to demonstrate verified capability. ExamCost prepares you with 230 practice questions in PDF, Desktop Test Engine, and Online Test Engine formats.
Everything, in one purchase: 230 practice questions for the C++ Institute C++ Certified Professional Programmer exam in three formats — a printable, expert-prepared PDF with instant download; a Desktop Test Engine for Windows that simulates the real exam with two practice modes and works offline; and an Online Test Engine for any browser on Windows, Mac, Android, and iOS with test history and performance review. You also receive a free demo, 365 days of free updates from a team that keeps innovating on the material, a 50% renewal discount afterward, unlimited installations, and considerate pre-sale and after-sale service.
The C++ Institute C++ Certified Professional Programmer exam contains 40 with 65 minutes to complete them. Practicing under the same time constraint with the ExamCost Desktop Test Engine makes exam-day pacing feel rehearsed.
Recommended: C++ Certified Associate Programmer (CPA) or equivalent advanced C++ experience. Since policies evolve, confirm the current requirements on the official C++ Institute exam page before you schedule.
C++ Institute recommends the following training for the C++ Institute C++ Certified Professional Programmer exam:
Supplement the training with the 230 practice questions from ExamCost — self-testing reveals what training alone cannot.
The official C++ Institute C++ Certified Professional Programmer outline defines 6 domains, the three largest being Algorithms – Non-Modifying and Modifying, Templates and Generic Programming, and Sorting, Search, and Merge Algorithms. The complete list is in the topics section above, and ExamCost's 230 practice questions address every domain.
C++ Institute C++ Certified Professional Programmer Sample Questions:
What will happen when you attempt to compile and run the following code? Choose all that apply.
#include <iostream>
#include <algorithm>
#include <vector>
#include <set>
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; }
bool operator < (const A & b) const { return a<b.a;}
};
class F {
A val;
public:
F(A & v):val(v){}
bool operator() (A & v) {
if (v.getA() == val.getA()) return true;
return false;
}
};
int main() {
int t[] = { 10, 5, 9, 6, 2, 4, 7, 8, 3, 1 };
vector<A> v1(t, t + 10);
set<A> s1(t, t + 10);
A a(6); F f(a);
find_if(s1.begin(), s1.end(), f);
if (find_if(v1.begin(), v1.end(), f) !=v1.end()) {
cout<<"Found!\n";
} else {
cout<<"Not found!\n";
}
return 0;
}
- A. it will compile successfully
- B. it will display Not found!
- C. it will not compile successfully
- D. it will display Found!
Correct Answer: C 🗳️
What happens when you attempt to compile and run the following code?
# include <iostream>
# include <deque>
# include <list>
# include <queue>
# include <vector>
using namespace std;
int main()
{
int t[] ={ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
deque<int> mydeck(t, t+10);list<int> mylist(t,t+10);
queue<int> first;
queue<int> second(mydeck);
queue<int> third(second);
queue<int, list<int> > fourth(mylist);
mylist.clear();third.clear();
cout<<third.size()<< " "<<mydeck.size()<< endl;
cout<<fourth.size()<< " "<<mylist.size()<<endl;
return 0;
}
- A. program outputs: 0 0
0 0 - B. compilation error
- C. program outputs: 10 0
0 10 - D. program outputs: 10 10
1 0 10 - E. program outputs: 10 0
10 0
Correct Answer: B 🗳️
What happens when you attempt to compile and run the following code?
# include <vector>
# include <iostream>
# include <algorithm>
using namespace std;
template<class T>struct Out {
ostream & out;
Out(ostream & o): out(o){}
void operator() (const T & val ) { out<<val<<" "; } };
int main() {
int t1[]={3,2,4,1,5};
int t2[]={5,6,8,2,1};
vector<int> v1(10);
sort(t1, t1+5);
sort(t2, t2+5);
set_intersection(t1,t1+5,t2,t2+5,v1.begin());
for_each(v1.begin(), v1.end(), Out<int>(cout));cout<<endl;
return 0;
}
Program outputs:
- A. 1 2 3 4 5 6 8 0 0 0
- B. compilation error
- C. 1 1 2 2 3 4 5 5 6 8
- D. 1 2 5 0 0 0 0 0 0 0
- E. 1 2 3 4 5 6 8 2 1 0
Correct Answer: D 🗳️
Which changes, introduced independently, will allow the code to compile and display "one"
"eight" "nine" "ten"? Choose all that apply
#include <iostream>
# include <map>
# include <string>
using namespace std;
class A {
int a;
public:
A(int a):a(a){}
int getA() const { return a;}
/* Insert Code Here 1 */
};
/* Insert Code Here 2 */
int main(){
int t[] ={ 3, 4, 2, 1, 6, 5, 7, 9, 8, 10 };
string s[] = {"three", "four", "two", "one", "six","five", "seven", "nine","eight","ten"}; map<A, string> m;/* Replace Code Here 3 */
for(int i=0; i<10; i++) {
m.insert(pair<A,string>(A(t[i]),s[i]));
}
m.erase(m.lower_bound(2),m.upper_bound(7));
map<A, string>::iterator i=m.begin(); /* Replace Code Here 4 */
for( ;i!= m.end(); i++) {
cout<<i?>second<<" ";
}
cout<<endl;
return 0;
}
- A. bool operator < (const A & b) const { return b.a<a;} inserted at Place 1
- B. operator int() const { return a;} inserted at Place 1
- C. bool operator < (const A & b) const { return a<b.a;} inserted at Place 1
- D. struct R { bool operator ()(const A & a, const A & b) { return a.getA()<b.getA();} }; inserted at Place 2
replacing line marked 3 with map<A, string, R> m;
replacing line marked 4 with map<A, string,R>::iterator i=m.begin();
Correct Answer: B,C,D 🗳️
What happens when you attempt to compile and run the following code?
include <iostream>
#include <algorithm>
#include <vector>
#include <deque>
#include <set>
using namespace std;
int main() {
int t[] = { 10, 5, 9, 6, 2, 4, 7, 8, 3, 1 };
vector<int> v1(t, t + 10);
deque<int> d1(t, t + 10);
set<int> s1(t, t + 10);
cout<<find(v1.begin(), v1.end(), 6)<<" "<<find(d1.begin(), d1.end(), 6)<<"
"<<find(s1.begin(), s1.end(), 6);
return 0;
}
- A. compilation error
- B. program outputs: 6 6 6
- C. program outputs: 3 3 5
- D. none of these
- E. program outputs: 3 6 5
Correct Answer: A 🗳️
Viewing page 1 out of 46 pages.
Viewing questions 1-5 out of 230 questions.






