Class 8  >  C++ Programming for Beginners  >  C++ Class Methods & C++ Constructors

C++ Class Methods & C++ Constructors - Notes | Study C++ Programming for Beginners - Class 8

1 Crore+ students have signed up on EduRev. Have you?

Class Methods

Methods are functions that belongs to the class.
There are two ways to define functions that belongs to a class:

  • Inside class definition
  • Outside class definition

In the following example, we define a function inside the class, and we name it "myMethod".

Note: You access methods just like you access attributes; by creating an object of the class and using the dot syntax (.):

Inside Example

class MyClass {        // The class

  public:              // Access specifier

    void myMethod() {  // Method/function defined inside the class

      cout << "Hello World!";

    }

};


int main() {

  MyClass myObj;     // Create an object of MyClass

  myObj.myMethod();  // Call the method

  return 0;

}

To define a function outside the class definition, you have to declare it inside the class and then define it outside of the class. This is done by specifiying the name of the class, followed the scope resolution :: operator, followed by the name of the function:

Outside Example

class MyClass {        // The class

  public:              // Access specifier

    void myMethod();   // Method/function declaration

};


// Method/function definition outside the class

void MyClass::myMethod() {

  cout << "Hello World!";

}


int main() {

  MyClass myObj;     // Create an object of MyClass

  myObj.myMethod();  // Call the method

  return 0;

}

Parameters

You can also add parameters:
Example

#include <iostream>

using namespace std;


class Car {

  public:

    int speed(int maxSpeed);

};


int Car::speed(int maxSpeed) {

  return maxSpeed;

}


int main() {

  Car myObj; // Create an object of Car

  cout << myObj.speed(200); // Call the method with an argument

  return 0;

}

C++ Constructors

Constructors

A constructor in C++ is a special method that is automatically called when an object of a class is created.
To create a constructor, use the same name as the class, followed by parentheses ():
Example

class MyClass {     // The class

  public:           // Access specifier

    MyClass() {     // Constructor

      cout << "Hello World!";

    }

};


int main() {

  MyClass myObj;    // Create an object of MyClass (this will call the constructor)

  return 0;

}

Note: The constructor has the same name as the class, it is always public, and it does not have any return value.

Constructor Parameters

Constructors can also take parameters (just like regular functions), which can be useful for setting initial values for attributes.
The following class have brand, model and year attributes, and a constructor with different parameters. Inside the constructor we set the attributes equal to the constructor parameters (brand=x, etc). When we call the constructor (by creating an object of the class), we pass parameters to the constructor, which will set the value of the corresponding attributes to the same:
Example

class Car {        // The class

  public:          // Access specifier

    string brand;  // Attribute

    string model;  // Attribute

    int year;      // Attribute

    Car(string x, string y, int z) { // Constructor with parameters

      brand = x;

      model = y;

      year = z;

    }

};


int main() {

  // Create Car objects and call the constructor with different values

  Car carObj1("BMW", "X5", 1999);

  Car carObj2("Ford", "Mustang", 1969);


  // Print values

  cout << carObj1.brand << " " << carObj1.model << " " << carObj1.year << "\n";

  cout << carObj2.brand << " " << carObj2.model << " " << carObj2.year << "\n";

  return 0;

}

Just like functions, constructors can also be defined outside the class. First, declare the constructor inside the class, and then define it outside of the class by specifying the name of the class, followed by the scope resolution :: operator, followed by the name of the constructor (which is the same as the class):
Example

class Car {        // The class

  public:          // Access specifier

    string brand;  // Attribute

    string model;  // Attribute

    int year;      // Attribute

    Car(string x, string y, int z); // Constructor declaration

};


// Constructor definition outside the class

Car::Car(string x, string y, int z) {

  brand = x;

  model = y;

  year = z;

}


int main() {

  // Create Car objects and call the constructor with different values

  Car carObj1("BMW", "X5", 1999);

  Car carObj2("Ford", "Mustang", 1969);


  // Print values

  cout << carObj1.brand << " " << carObj1.model << " " << carObj1.year << "\n";

  cout << carObj2.brand << " " << carObj2.model << " " << carObj2.year << "\n";

  return 0;

}

The document C++ Class Methods & C++ Constructors - Notes | Study C++ Programming for Beginners - Class 8 is a part of the Class 8 Course C++ Programming for Beginners.
All you need of Class 8 at this link: Class 8
15 videos|20 docs|13 tests
Download as PDF

Download free EduRev App

Track your progress, build streaks, highlight & save important lessons and more!

Related Searches

past year papers

,

shortcuts and tricks

,

ppt

,

Objective type Questions

,

Free

,

C++ Class Methods & C++ Constructors - Notes | Study C++ Programming for Beginners - Class 8

,

study material

,

Semester Notes

,

Viva Questions

,

Sample Paper

,

video lectures

,

pdf

,

Previous Year Questions with Solutions

,

MCQs

,

Extra Questions

,

C++ Class Methods & C++ Constructors - Notes | Study C++ Programming for Beginners - Class 8

,

mock tests for examination

,

Summary

,

C++ Class Methods & C++ Constructors - Notes | Study C++ Programming for Beginners - Class 8

,

practice quizzes

,

Important questions

,

Exam

;