Already have an account? Get multiple benefits of using own account!
Login in your account..!
Remember me
Don't have an account? Create your account in less than a minutes,
Forgot password? how can I recover my password now!
Enter right registered email to receive password!
Static Data Members:
A data member inside the class can construct as static data member. There are few
guidelines to be followed when declaring static data member.
The following program will give clear difference between static data count and regular data number members. The static data is common to all objects but regular data is unique to its object.
class item
{int number; static int count; public:
void getdata()
{++count;
number=count;
}
void putdata(void)
{cout<<"Count is "< cout<<"Number is "< } }; int item::count=0; int main() { clrscr(); item x,y,z; //Three object produced from class item x.getdata(); y.getdata(); z.getdata(); x.putdata(); The count is 3 and number is 1 y.putdata(); The count is 3 and number is 2 z.putdata(); The count is 3 and number is 3 return 0; } Static Member Function: The static member function can be specified like static data member. It works asc a static member data except the static member data is used in static member function. Rules of Static Member function are given below: The static member function can read static data member only from its class. The static member function is called using class name not object name. class_name::static_function_name( ); It can also be called using object.static_fun( ). The given program will illustrate how the static member function is worked. class find {static int count; int code; public: static void showcount(void) {cout<<"Count is " < } void setcode(void) {code = ++count; } void setcount(void) { cout<<"Code is " < } }; int find ::count=0; int main() {clrscr(); find x,y,z; x.setcode(); // Code and count is 1. y.setcode(); //Code and count is 2 find::showcount(); //Count is 2 z.setcode(); //Code and count is 3 find::showcount(); //Count is 3 x.setcount(); // Code is 1 for object x. y.setcount(); // Code is 2 for object y. z.setcount(); // Code is 3 for object z. x.setcode(); // Code and count is 4. y.setcode(); //Code and count is 5 z.setcode(); //Code and count is 6 find::showcount(); //Count is 6 //The value of code will increase from its previous value of that object. x.setcount(); // Code is 4 for object x. y.setcount(); / Code is 5 for object x. z.setcount(); // Code is 6 for object x. return 0; } Since the count is declared as static it has only one copy irrespective of number of objects created. When static count function called again and again it will increase count for all the objects created simultaneously therefore the count will be uniform for all object, but for the data member code it is unique for each object created because it is not a static data member. Therfore from the above example there will only one value for count data member irrespective of number of objects constructed since it is a static data member, where as for code data member the value will be different for each object.
cout<<"Number is "< } }; int item::count=0; int main() { clrscr(); item x,y,z; //Three object produced from class item x.getdata(); y.getdata(); z.getdata(); x.putdata(); The count is 3 and number is 1 y.putdata(); The count is 3 and number is 2 z.putdata(); The count is 3 and number is 3 return 0; } Static Member Function: The static member function can be specified like static data member. It works asc a static member data except the static member data is used in static member function. Rules of Static Member function are given below: The static member function can read static data member only from its class. The static member function is called using class name not object name. class_name::static_function_name( ); It can also be called using object.static_fun( ). The given program will illustrate how the static member function is worked. class find {static int count; int code; public: static void showcount(void) {cout<<"Count is " < } void setcode(void) {code = ++count; } void setcount(void) { cout<<"Code is " < } }; int find ::count=0; int main() {clrscr(); find x,y,z; x.setcode(); // Code and count is 1. y.setcode(); //Code and count is 2 find::showcount(); //Count is 2 z.setcode(); //Code and count is 3 find::showcount(); //Count is 3 x.setcount(); // Code is 1 for object x. y.setcount(); // Code is 2 for object y. z.setcount(); // Code is 3 for object z. x.setcode(); // Code and count is 4. y.setcode(); //Code and count is 5 z.setcode(); //Code and count is 6 find::showcount(); //Count is 6 //The value of code will increase from its previous value of that object. x.setcount(); // Code is 4 for object x. y.setcount(); / Code is 5 for object x. z.setcount(); // Code is 6 for object x. return 0; } Since the count is declared as static it has only one copy irrespective of number of objects created. When static count function called again and again it will increase count for all the objects created simultaneously therefore the count will be uniform for all object, but for the data member code it is unique for each object created because it is not a static data member. Therfore from the above example there will only one value for count data member irrespective of number of objects constructed since it is a static data member, where as for code data member the value will be different for each object.
};
int item::count=0;
int main()
{ clrscr();
item x,y,z; //Three object produced from class item x.getdata();
y.getdata();
z.getdata();
x.putdata(); The count is 3 and number is 1
y.putdata(); The count is 3 and number is 2 z.putdata(); The count is 3 and number is 3
return 0;
Static Member Function:
The static member function can be specified like static data member. It works asc a static member data except the static member data is used in static member function.
Rules of Static Member function are given below:
The given program will illustrate how the static member function is worked.
class find
{static int count;
int code;
public:
static void showcount(void)
{cout<<"Count is " < } void setcode(void) {code = ++count; } void setcount(void) { cout<<"Code is " < } }; int find ::count=0; int main() {clrscr(); find x,y,z; x.setcode(); // Code and count is 1. y.setcode(); //Code and count is 2 find::showcount(); //Count is 2 z.setcode(); //Code and count is 3 find::showcount(); //Count is 3 x.setcount(); // Code is 1 for object x. y.setcount(); // Code is 2 for object y. z.setcount(); // Code is 3 for object z. x.setcode(); // Code and count is 4. y.setcode(); //Code and count is 5 z.setcode(); //Code and count is 6 find::showcount(); //Count is 6 //The value of code will increase from its previous value of that object. x.setcount(); // Code is 4 for object x. y.setcount(); / Code is 5 for object x. z.setcount(); // Code is 6 for object x. return 0; } Since the count is declared as static it has only one copy irrespective of number of objects created. When static count function called again and again it will increase count for all the objects created simultaneously therefore the count will be uniform for all object, but for the data member code it is unique for each object created because it is not a static data member. Therfore from the above example there will only one value for count data member irrespective of number of objects constructed since it is a static data member, where as for code data member the value will be different for each object.
void setcode(void)
{code = ++count;
void setcount(void)
{ cout<<"Code is " < } }; int find ::count=0; int main() {clrscr(); find x,y,z; x.setcode(); // Code and count is 1. y.setcode(); //Code and count is 2 find::showcount(); //Count is 2 z.setcode(); //Code and count is 3 find::showcount(); //Count is 3 x.setcount(); // Code is 1 for object x. y.setcount(); // Code is 2 for object y. z.setcount(); // Code is 3 for object z. x.setcode(); // Code and count is 4. y.setcode(); //Code and count is 5 z.setcode(); //Code and count is 6 find::showcount(); //Count is 6 //The value of code will increase from its previous value of that object. x.setcount(); // Code is 4 for object x. y.setcount(); / Code is 5 for object x. z.setcount(); // Code is 6 for object x. return 0; } Since the count is declared as static it has only one copy irrespective of number of objects created. When static count function called again and again it will increase count for all the objects created simultaneously therefore the count will be uniform for all object, but for the data member code it is unique for each object created because it is not a static data member. Therfore from the above example there will only one value for count data member irrespective of number of objects constructed since it is a static data member, where as for code data member the value will be different for each object.
} }; int find ::count=0; int main() {clrscr(); find x,y,z; x.setcode(); // Code and count is 1. y.setcode(); //Code and count is 2 find::showcount(); //Count is 2 z.setcode(); //Code and count is 3 find::showcount(); //Count is 3 x.setcount(); // Code is 1 for object x. y.setcount(); // Code is 2 for object y. z.setcount(); // Code is 3 for object z. x.setcode(); // Code and count is 4. y.setcode(); //Code and count is 5 z.setcode(); //Code and count is 6 find::showcount(); //Count is 6 //The value of code will increase from its previous value of that object. x.setcount(); // Code is 4 for object x. y.setcount(); / Code is 5 for object x. z.setcount(); // Code is 6 for object x. return 0; } Since the count is declared as static it has only one copy irrespective of number of objects created. When static count function called again and again it will increase count for all the objects created simultaneously therefore the count will be uniform for all object, but for the data member code it is unique for each object created because it is not a static data member. Therfore from the above example there will only one value for count data member irrespective of number of objects constructed since it is a static data member, where as for code data member the value will be different for each object.
int find ::count=0;
{clrscr();
find x,y,z;
x.setcode(); // Code and count is 1. y.setcode(); //Code and count is 2 find::showcount(); //Count is 2
z.setcode(); //Code and count is 3 find::showcount(); //Count is 3
x.setcount(); // Code is 1 for object x.
y.setcount(); // Code is 2 for object y. z.setcount(); // Code is 3 for object z.
x.setcode(); // Code and count is 4. y.setcode(); //Code and count is 5 z.setcode(); //Code and count is 6 find::showcount(); //Count is 6
//The value of code will increase from its previous value of that object.
x.setcount(); // Code is 4 for object x. y.setcount(); / Code is 5 for object x. z.setcount(); // Code is 6 for object x.
Since the count is declared as static it has only one copy irrespective of number of objects created. When static count function called again and again it will increase count for all the objects created simultaneously therefore the count will be uniform for all object, but for the data member code it is unique for each object created because it is not a static data member. Therfore from the above example there will only one value for count data member irrespective of number of objects constructed since it is a static data member, where as for code data member the value will be different for each object.
A function f is defined by the rule that f(n) = n if 0≤n≤3 and f(n) = f(n - 1) + 2f(n - 2) + 3f(n - 3) if n> 3. (a) Write a procedure that computes f by means of a recursive pro
We have used logic symbols in the past, but not really though about the actual real devices. Semiconductor companies have taken the logic symbols are manufactured them into logic f
Write a program that displays both the lower case and upper case alphabetical letters using the following Format Lowercase Uppercase a A
Program to design list in c: Write a program in c to insert the values in list void main() { int i=0; char a[20]; clrscr(); printf("Enter the line\n");
sir,why we use virtual function
Data is required to be fed into the program (input) and sent out of the program (output). Considering the draughtsman using a CAD station, the input is his commands to cause lines/
(a) Write a procedure called (area-of-rectangle h w) that computes the area of a rectangle of height h and width w. (b) Write a procedure called (area-of-circle r) that computes
Create a Document that show information about albums. First create a paragraph or two about the purpose of the page and your interests in music: genres, styles, etc. Next have a
Why many companies are switching their current business language to PHP? Where PHP basically used? PHP is rapidly gaining popularity and numerous companies are switching their
A palindrome is a string that reads the same from both the ends. Given a string S convert it to a palindrome by doing character replacement. Your task is to convert S to palindrome
Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!
whatsapp: +91-977-207-8620
Phone: +91-977-207-8620
Email: [email protected]
All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd