Skip to main content

Short notes on : 1. static data members and static member functions 2. This pointer 3. Namespaces

 1. Static data members and static member functions:
    Static data members and static member functions are used in C++ to create class variables and functions that are shared by all objects for the class. A static data member is a variable that is associated with the class, not with any individual object of that class. Similarly, a static member function is a function that is associated with the class and can be called without an object of that class.

Syntax for declaring static data members and static member functions:

class MyClass {
public:
    static int myStaticData; // static data member
    static void myStaticFunction(); // static member function
};

int MyClass::myStaticData = 0; // static data member definition
void MyClass::myStaticFunction() { // static member function definition
    // implementation
}

2. This pointer:

The this pointer is a pointer that holds the memory address of the current object. It is a keyword in C++ that is used in class member functions to refer to the object that  called the function. It is useful in situations where a member function needs to access the object's data members or call member functions of the same object.

Syntax for using this pointer:

class MyClass {
public:
    void setValue(int value) {
        this->value = value; // using this pointer to set value
    }

    void printValue() {
        std::cout << "Value = " << this->value << std::endl; // using this pointer to print value
    }

private:
    int value;
};

3. Namespaces:

Namespaces are used in C++ to group related classes, functions, and variables under a common name. They are used to avoid naming conflicts between different libraries of modules in a program. A namespace can contain any valid C++ code, including class declarations, function definitions, variable declarations, and so on.

Syntax for using namespaces:

// declaring namespace
namespace myNamespace {
    int myVar;
    void myFunction();
}

// using namespace
using namespace myNamespace;

// accessing variables and functions in the namespace
int main() {
    myVar = 10;
    myFunction();
    return 0;
}

Comments

Popular posts from this blog

Write a program using the algorithm count() to count how many elements in a container have a specified value.

 Here's an example program using the count() algorithm to count the number of occurrences of a specific value in a vector container: #include <iostream> #include <vector> #include <algorithm> using namespace std; int main() {     vector<int> numbers = { 2, 5, 3, 7, 8, 5, 1, 5, 4 };          // count the number of occurrences of the value 5 in the vector     int count = count(numbers.begin(), numbers.end(), 5);          cout << "The number of occurrences of 5 in the vector is: " << count << endl;          return 0; } Output: The number of occurrences of 5 in the vector is: 3 Explanation: The program starts by creating a vector named numbers that contains several integer values. The count() algorithm is used to count the number of occurrences of the value 5 in the numbers vector. The function takes three arguments: the beginning and end iterators of...

write a program in C++ to overload '-' operator to find difference of two complex object.

write a program to overload '-' operator to find difference of two complex object /* program in C++ to overload '-' operator to find difference of two complex object */ #include<iostream> using namespace std; class Complex{     public:     float a, b;     complex(): a(0), b(0) {}     complex(float x, float y): a(x), b(y){}     void display(){          cout<<this->a<<"+"<<this->b<<"i"<<endl;     }     friend Complex operator-(const Complex&, const Complex&); }; complex operator-(const Complex& com, const Complex& comp){     float x= com.a - comp.a;     foat y= com.b - comp.b;     return Complex(x,y); } int main(){     Complex a(1,7), b(6,9);     cout<<"A = ";a.display();      cout<<"B = ";b.display();      cout<<"A - B = ";(a-b).display(); ...

what is static data member and static member function? how can we overload a function?

what is static data member and static member function? how can we overload a function? A static data member in C++ is a class variable that is shared among all objects of a class and is defined using the 'static' keyword. It has a single instance for the entire class, and its value is shared by all objects of that class. Unlike non-static class members, a static data member can be accessed without creating an instance of the class. A static member function in C++ is a member function of a class that can be called without creating an instance of the class. Like static data members, a static member function operates on the class as a whole rather than on individual objects. A static member function can only access static data members on other static member functions of the same class. To overload a function in C++, you create multiple functions with the same name but different parameter lists. The correct function to call is determined at compile-time based on the number and type...