1)class and object :-defination,syntax ,example and advantages
->Class — Definition
A class is a user-defined data type that acts as a blueprint for creating objects.
It defines data members (variables) and member functions (methods) that describe the
behavior of the object.
� Syntax of a Class
class ClassName {
public:
// Data members (variables)
int data;
// Member functions (methods)
void display() {
cout << "Data = " << data;
}
};
⚙� Object — Definition
An object is a real-world instance of a class.
When a class is defined, no memory is allocated until we create an object of that class.
� Syntax of Creating an Object
ClassName objectName;
💡 Example
#include <iostream>
using namespace std;
// Define a class
class Student {
public:
// Data members
string name;
int age;
// Member function
void display() {
cout << "Name: " << name << endl;
cout << "Age: " << age << endl;
}
};
int main() {
// Create an object of class Student
Student s1;
// Access data members and assign values
[Link] = "Farooq";
[Link] = 18;
// Call member function
[Link]();
return 0;
}
� Output
Name: Farooq
Age: 18
Advantages of Class and Object
No. Advantage Explanation
Classes allow you to hide complex details and show only
1 Data Abstraction necessary information using functions — making programs
easier to understand.
Data (variables) and functions (methods) are bundled together in
2 Data Encapsulation one unit — the class. This protects data from unauthorized
access.
Once a class is created, it can be reused to create multiple
3 Reusability
objects or even extended by other classes (through inheritance).
Classes group related data and behavior, making code more
4 Code Organization
structured, modular, and easier to maintain.
If changes are needed, you can modify one class without
5 Easy Maintenance
affecting other parts of the program.
Classes can inherit properties and behaviors from other classes
6 Inheritance
— reducing code duplication.
Objects can behave differently based on their class, making the
7 Polymorphism
program flexible and extendable.
Modeling Real- Classes and objects make it easy to model real-world entities
8
World Problems (like a Car, Student, BankAccount) in programs.
2) c++ as objects as physical object
An object in C++ represents a real-world entity such as a car, student, or book.
Each object has attributes (data) and actions (functions) just like physical objects.
💡 Example:
class Car {
public:
string color;
void start() {
cout << "Car is starting...";
}
};
int main() {
Car myCar; // Object created
[Link] = "Red";
[Link](); // Behaves like a real car
}
� Here:
Car = Class (blueprint)
myCar = Object (real car)
color = Property
start() = Behavior
3) c++ as objects as data types
n C++,
A class is a user-defined data type.
An object is a variable of that class.
Just like int a; declares an integer variable,
you can declare an object of a class — e.g. Student s1;.
� Example:
#include <iostream>
using namespace std;
class Student { // Class = user-defined data type
public:
string name;
int age;
};
int main() {
Student s1; // Object = variable of class type
[Link] = "Farooq";
[Link] = 18;
cout << [Link] << " " << [Link];
return 0;
}
🔹 Explanation:
class Student → defines a new data type called Student.
Student s1; → creates an object (like a variable) of that data type.
4) Acess specifiers in class and object
Access specifiers define how members (variables and functions) of a class can be accessed
inside or outside the class.
🌟 Types of Access Specifiers
Specifier Description Access Outside Class
public Members are accessible from anywhere in the program. ✅ Yes
private Members are accessible only within the class. ❌ No
Members are accessible within the class and its derived ⚠� Only through
protected
(child) classes. inheritance
💡 Syntax Example:
#include <iostream>
using namespace std;
class Student {
private: // Private section
int marks; // Only accessible inside class
public: // Public section
string name;
void setMarks(int m) {
marks = m; // Accessing private member inside class
}
void display() {
cout << "Name: " << name << ", Marks: " << marks << endl;
}
};
int main() {
Student s1;
[Link] = "Farooq"; // ✅ public member — can access
// [Link] = 90; // ❌ private member — cannot access directly
[Link](90); // ✅ use public function to set private data
[Link](); // ✅ public function — can access
return 0;
}
5) Constructor and their types(including copy constructor)
A constructor is a special member function in a class that is automatically called when an
object is created.
It is mainly used to initialize the object’s data members.
� Features of Constructors:
Constructor name is same as the class name.
It has no return type (not even void).
It is automatically invoked when an object is created.
⚙� Syntax:
class ClassName {
public:
ClassName() { // Constructor
// Initialization code
}
};
🌟 Types of Constructors in C++
Type Description Example
Has no parameters. It initializes objects
1. Default Constructor ClassName() { }
with default values.
2. Parameterized Takes parameters to initialize objects ClassName(int a, int b) {
Constructor with specific values. }
Creates a new object as a copy of an ClassName(const ClassName
3. Copy Constructor &obj) { }
existing object.
6)Constructor overloading
Constructor overloading means having more than one constructor in the same
class with different parameters.
It allows objects to be created in different ways.
Example of Constructor Overloading
#include <iostream>
using namespace std;
class Student {
public:
string name;
int age;
// 1�⃣ Default Constructor
Student() {
name = "Unknown";
age = 0;
}
// 2�⃣ Parameterized Constructor (one parameter)
Student(string n) {
name = n;
age = 0;
}
// 3�⃣ Parameterized Constructor (two parameters)
Student(string n, int a) {
name = n;
age = a;
}
// Display function
void display() {
cout << "Name: " << name << ", Age: " << age << endl;
}
};
int main() {
Student s1; // Calls default constructor
Student s2("Farooq"); // Calls 1-parameter constructor
Student s3("Ali", 20); // Calls 2-parameter constructor
[Link]();
[Link]();
[Link]();
return 0;
}
� Output:
Name: Unknown, Age: 0
Name: Farooq, Age: 0
Name: Ali, Age: 20