Bird
Raised Fist0
C++programming~10 mins

Class definition syntax in C++ - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to define a class named Car.

C++
class [1] {
public:
    int speed;
};
Drag options to blanks, or click blank then click option'
ACar
Bcar
CVehicle
DSpeed
Attempts:
3 left
πŸ’‘ Hint
Common Mistakes
Using lowercase 'car' instead of 'Car'.
Using a different class name like 'Vehicle'.
2fill in blank
medium

Complete the code to declare a public integer member named 'age' inside the class.

C++
class Person {
public:
    [1] age;
};
Drag options to blanks, or click blank then click option'
Afloat
Bstring
Cint
Dbool
Attempts:
3 left
πŸ’‘ Hint
Common Mistakes
Using 'float' or 'string' instead of 'int'.
Using 'bool' which is for true/false values.
3fill in blank
hard

Fix the error in the class definition by completing the missing keyword.

C++
class Animal {
    [1]:
    int legs;
};
Drag options to blanks, or click blank then click option'
Aprivate
Bfriend
Cprotected
Dpublic
Attempts:
3 left
πŸ’‘ Hint
Common Mistakes
Using 'private' which hides members.
Using 'friend' which is not an access specifier.
4fill in blank
hard

Fill both blanks to define a class with a private string member 'name' and a public integer member 'id'.

C++
class Employee {
    [1]:
    std::string name;

    [2]:
    int id;
};
Drag options to blanks, or click blank then click option'
Aprivate
Bpublic
Cprotected
Dfriend
Attempts:
3 left
πŸ’‘ Hint
Common Mistakes
Mixing up private and public keywords.
Using 'friend' which is not an access specifier.
5fill in blank
hard

Fill all three blanks to define a class 'Book' with a private string 'title', a public integer 'pages', and a protected float 'price'.

C++
class Book {
    [1]:
    std::string title;

    [2]:
    int pages;

    [3]:
    float price;
};
Drag options to blanks, or click blank then click option'
Aprivate
Bpublic
Cprotected
Dfriend
Attempts:
3 left
πŸ’‘ Hint
Common Mistakes
Using 'friend' as an access specifier.
Confusing protected and private keywords.

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

  1. 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.
  2. Step 2: Check the syntax correctness

    The correct syntax is class Car { }; with a semicolon at the end.
  3. Final Answer:

    class Car { }; -> Option A
  4. 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

  1. Step 1: Understand access specifier placement

    In C++, access specifiers like public: are labels followed by a colon, not keywords before functions.
  2. Step 2: Identify correct function declaration

    The function declaration inside the class is void start(); placed under the public: label.
  3. Final Answer:

    public: void start(); -> Option D
  4. 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

  1. 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.
  2. Step 2: Trace the main function execution

    An object b is created, b.length is set to 10, then printed. This will output 10.
  3. Final Answer:

    10 -> Option B
  4. 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

  1. Step 1: Check for syntax errors

    The class ends with a semicolon, so no missing semicolon error.
  2. Step 2: Check usage of string type

    The code uses string without including <string> header and without std:: prefix, which causes compilation error.
  3. Final Answer:

    Missing #include <string> and std:: prefix -> Option C
  4. 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

  1. Step 1: Identify private members declaration

    Private members must be declared under private: label to restrict access.
  2. Step 2: Confirm public function declaration

    The function area() should be public to allow access from outside.
  3. 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.
  4. Final Answer:

    class Rectangle { private: int width, height; public: int area() { return width * height; } }; -> Option A
  5. 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 unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard