Q1: Write a Program in C++ which completes following requirements:
a. Create a class, having a static function printing some information and invoke that method using scope resolution operator.
b. Try to access non-static data members from static method and write in comments what happens.
c. Declare and initialize a static variable as counter in a function (increment it in every call) and call it multiple times printing the change in value
d. Write about your observations while making this assignment in a word file about static variables and static methods.
#include <iostream>
using namespace std;
class MyClass{
private:
int x;
static int counter;
public:
static void printInfo()
{
cout<<"Hello"<<endl;
/*cout<<x; This produces an error:
invalid use of member MyClass::x in static function
*/
}
void getCouter()
{
counter++;
cout<<"\nThis function has been called "<<counter<<" times.";
}
};
int MyClass::counter = 0;
int main()
{
MyClass::printInfo();
MyClass mc;
mc.getCouter();
mc.getCouter();
mc.getCouter();
mc.getCouter();
mc.getCouter();
mc.getCouter();
return 0;
}
Observations
Comments
Leave a comment