What is the basic syntax to define a class in C++?
A class in C++ is defined using the <code>class</code> keyword followed by the class name and a pair of curly braces containing members. Example:<br><pre>class MyClass {<br> // members<br>};</pre>
Click to reveal answer
beginner
What are the two main sections inside a C++ class for member access?
The two main access specifiers are public: and private:. public members can be accessed from outside the class, while private members can only be accessed from within the class.
Click to reveal answer
beginner
How do you declare a member function inside a class?
Inside the class, you declare a member function by specifying its return type, name, and parameters. Example:<br><pre>class MyClass {<br>public:<br> void greet();<br>};</pre>
Click to reveal answer
beginner
What is the purpose of the semicolon after the closing brace in a class definition?
In C++, the class definition must end with a semicolon <code>;</code>. This tells the compiler that the class definition is complete.
Click to reveal answer
beginner
Can you define member variables inside a class? How?
Yes, member variables are defined inside the class body, usually under <code>private:</code> or <code>public:</code>. Example:<br><pre>class MyClass {<br>private:<br> int age;<br>public:<br> int id;<br>};</pre>
Click to reveal answer
Which keyword is used to define a class in C++?
Astruct
Bclass
Cobject
Ddefine
✗ Incorrect
The class keyword is used to define a class in C++.
What symbol must appear after the closing brace of a class definition?
A.
B:
C;
D,
✗ Incorrect
A semicolon ; must follow the closing brace of a class definition.
Which access specifier allows members to be accessed from outside the class?
Ainternal
Bprotected
Cprivate
Dpublic
✗ Incorrect
public members can be accessed from outside the class.
How do you declare a member function inside a class?
ABy writing its return type, name, and parameters inside the class
BBy defining it outside the class only
CBy using the keyword <code>function</code>
DBy declaring it as a variable
✗ Incorrect
Member functions are declared inside the class with their return type, name, and parameters.
Where are member variables usually declared inside a class?
AInside <code>public:</code> or <code>private:</code>
BOnly inside <code>private:</code>
COnly inside <code>public:</code>
DOutside the class
✗ Incorrect
Member variables can be declared inside either public: or private: sections.
Explain the basic syntax of defining a class in C++ and the role of access specifiers.
Think about how you group related data and functions together and control who can see them.
You got /5 concepts.
Describe how to declare member variables and member functions inside a C++ class.
Remember, variables hold data and functions do actions inside the class.
You got /4 concepts.
Practice
(1/5)
1. What is the correct way to start defining a class named Car in C++?
easy
A. class Car { };
B. define Car { };
C. Car class { };
D. class = Car { };
Solution
Step 1: Recognize the class keyword usage
In C++, a class is defined using the keyword class followed by the class name and curly braces.
Step 2: Check the syntax correctness
The correct syntax is class Car { }; with a semicolon at the end.
Final Answer:
class Car { }; -> Option A
Quick Check:
class keyword + name + braces + semicolon = correct [OK]
Hint: Use 'class ClassName { };' to define a class [OK]
Common Mistakes:
Omitting the semicolon after the class definition
Using 'define' instead of 'class'
Placing '=' between class and name
2. Which of the following is the correct syntax to declare a public member function start() inside a class?
easy
A. public void start();
B. void public start();
C. void start() public;
D. public: void start();
Solution
Step 1: Understand access specifier placement
In C++, access specifiers like public: are labels followed by a colon, not keywords before functions.
Step 2: Identify correct function declaration
The function declaration inside the class is void start(); placed under the public: label.
Final Answer:
public: void start(); -> Option D
Quick Check:
Access specifier label + function declaration = correct [OK]
Hint: Use 'public:' label before members, not before return type [OK]
Common Mistakes:
Writing 'public' before return type without colon
Placing 'public' after function parentheses
Using 'void public' which is invalid
3. What will be the output of this code?
class Box {
public:
int length;
};
int main() {
Box b;
b.length = 10;
std::cout << b.length << std::endl;
return 0;
}
medium
A. Compilation error
B. 10
C. 0
D. Undefined behavior
Solution
Step 1: Analyze class and member access
The class Box has a public integer member length, so it can be accessed and assigned outside the class.
Step 2: Trace the main function execution
An object b is created, b.length is set to 10, then printed. This will output 10.
Final Answer:
10 -> Option B
Quick Check:
Public member assigned 10, printed 10 [OK]
Hint: Public members can be accessed and printed directly [OK]
Common Mistakes:
Assuming private by default causes error
Forgetting to assign value before printing
Expecting zero because of uninitialized variable
4. Identify the error in this class definition:
class Person {
string name;
public:
void setName(string n) {
name = n;
}
};
medium
A. Missing semicolon after class definition
B. Member variable 'name' should be public
C. Missing #include <string> and std:: prefix
D. Function setName should return string
Solution
Step 1: Check for syntax errors
The class ends with a semicolon, so no missing semicolon error.
Step 2: Check usage of string type
The code uses string without including <string> header and without std:: prefix, which causes compilation error.
Final Answer:
Missing #include <string> and std:: prefix -> Option C
Quick Check:
Use #include and std::string for string type [OK]
Hint: Always include <string> and use std::string in C++ [OK]
Common Mistakes:
Assuming string is built-in without include
Thinking private members must be public to work
Expecting setName to return a value
5. You want to define a class Rectangle with private members width and height, and a public function area() that returns the area. Which is the correct class definition?
hard
A. class Rectangle {
private:
int width, height;
public:
int area() { return width * height; }
};
B. class Rectangle {
public:
int width, height;
int area() { return width * height; }
};
C. class Rectangle {
int width, height;
int area() { return width * height; }
};
D. class Rectangle {
private:
int width, height;
int area() { return width * height; }
};
Solution
Step 1: Identify private members declaration
Private members must be declared under private: label to restrict access.
Step 2: Confirm public function declaration
The function area() should be public to allow access from outside.
Step 3: Check for correct syntax and placement
class Rectangle {
private:
int width, height;
public:
int area() { return width * height; }
}; correctly places width and height as private and area() as public with proper syntax.
Final Answer:
class Rectangle {
private:
int width, height;
public:
int area() { return width * height; }
}; -> Option A
Quick Check:
Private data + public method = correct class design [OK]
Hint: Use 'private:' for data, 'public:' for functions in class [OK]
Common Mistakes:
Forgetting access specifiers, making members public by default
Placing function inside private when it should be public
Omitting semicolon after class definition
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.