0% found this document useful (0 votes)
18 views16 pages

OOP UE Lecture 3

The document discusses object-oriented programming concepts in C++ including classes, objects, attributes, methods, constructors, and access specifiers. A class is a blueprint for creating objects with data fields and functions. The document provides examples of defining classes and using them to create objects that can access attributes and methods.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views16 pages

OOP UE Lecture 3

The document discusses object-oriented programming concepts in C++ including classes, objects, attributes, methods, constructors, and access specifiers. A class is a blueprint for creating objects with data fields and functions. The document provides examples of defining classes and using them to create objects that can access attributes and methods.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

Object-Oriented Programming

Lecture No. 3
Classes

Division of science and Technology


University of Education, Lahore
Class
• A class is a user-defined data type that we can use in our program,
and it works as an object constructor, or a "blueprint" (plan) for
creating objects

• A way to map real world objects into programming constructs

• C++ classes make code modular

• A C++ class is composed of methods and variables where

• Attributes are mapped with variables

• Behaviors are mapped with methods


Creating a class in C++
• To create a class, use the keyword class

Example:

class MyClass { // The class


public: // Access specifier
int myNum; // Attribute (int variable)
string myString; // Attribute (string variable)
};
Explanation
• The class keyword is used to create a class called MyClass
• The public keyword is an access specifier, which specifies that
members (attributes and methods) of the class are accessible from
outside the class.
• Inside the class, there is an integer variable myNum and a string
variable myString. When variables are declared within a class, they
are called attributes.
• At last, end the class definition with a semicolon;
Create an object
• In C++, an object is created from a class. We have already created the
class named MyClass, so now we can use this to create objects.
• To create an object of MyClass, specify the class name, followed by
the object name.
• To access the class attributes (myNum and myString), use the dot
syntax (.) on the object
Example 1
class MyClass { // The class
public: // Access specifier
int myNum; // Attribute (int variable)
string myString; // Attribute (string variable)
};
int main() {
MyClass myObj; // Create an object of MyClass
// Access attributes and set values
myObj.myNum = 15;
myObj.myString = "Some text";
// Print attribute values
cout << myObj.myNum << "\n";
cout << myObj.myString;
return 0;
}
Example 2
// Create a Car class with some attributes // Create another object of Car
class Car { Car carObj2;
public: carObj2.brand = "Ford";
string brand; carObj2.model = "Mustang";
string model; carObj2.year = 1969;
int year;
}; // Print attribute values
cout << carObj1.brand << " " <<
int main() { carObj1.model << " " << carObj1.year << "\n";
// Create an object of Car cout << carObj2.brand << " " <<
Car carObj1; carObj2.model << " " << carObj2.year << "\n";
carObj1.brand = "BMW"; return 0;
carObj1.model = "X5"; }
carObj1.year = 1999;
Classes and methods
• 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
Inside class 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;
}
Explanation
• In this example, we define a function inside the class, and we name it
myMethod
• Methods can be accessed by creating an object of the class and by
using the dot syntax (.)
Outside class 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;
}
Explanation
• 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 specifying the name of the class, followed the scope
resolution :: operator, followed by the name of the function.
Method with parameter
• #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;
}
Constructor

• 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 ()
• The constructor has same name as of class
• The constructor has no return type
• It is always public
Example - Constructor
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;
}
References
• C++ How to Program
By Deitel & Deitel

• The C++ Programming Language


By Bjarne Stroustrup

• Object oriented programming using C++ by Tasleem Mustafa, Imran Saeed, Tariq Mehmood, Ahsan Raza

• https://www.tutorialspoint.com

• http://ecomputernotes.com

• http://www.cplusplus.com

• https://www.w3schools.com/cpp/

You might also like