大佬教程收集整理的这篇文章主要介绍了C++静态成员变量详解,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
class Widget { private: double price; int quantity; public: Widget(double p,int q) { price = p; quantity = q; } double getPrice() const { return price; } int getQuantity() const { return quantity; } };假定在某个程序中,使用以下声明创建了 Widget 类的两个单独的实例:
Widget w1(14.50,100),w2(12.75,500);
该语句创建了两个不同的对象 w1 和 w2。每个对象都有自己的 price 和 quantity 成员变量,如图 1 所示。cout << w1.getQuantity () << " " << w2.getQuantity();
以上代码的显示结果为 "100 500"。class StatDemo { private: static int x; int y; public: void setx(int a) const { x = a; } void sety(int b) const { y = b; } int getx() { return x; } int gety() { return y; } };接下来,在类之外放置一个单独的变量定义,例如:
int StatDemo::x;
在这个例子中,成员变量 x 将被 StatDemo 类的所有对象共享。当一个类对象将一个值放入 x 中时,它将出现在所有其他 StatDemo 对象中。StatDemo obj1,obj 2; obj1.setx(5); obj1.sety(10); obj2.sety(20); cout << "x: " << obj1.getx () << " " << obj2.getx() << endl; cout << "y: " << obj1.gety () << " " << obj2.gety() << endl;cout 语句将显示以下内容:
x: 5 5
y: 10 20
//budget.h的内容 #ifndef BUDGET_H #define BUDGET_H class Budget { private: static double corpBudget; double divBudget; public: Budget() {divBudget =0;} void addBudget(double b) {divBudget += b; corpBudget += divBudget; } double getDivBudget() const { return divBudget; } double getCorpBudget() const { return corpBudget; } }; #endif //main程序的内容 // This program demonstrates a static class member variable. #include <iostream> #include <iomanip> #include "budget.h" // For Budget class declaration using namespace std; // DeFinition of the static member of the Budget class double Budget::corpBudget = 0; int main() { const int n_DIVISIONS = 4; Budget divisions[N_DIVISIONS]; // Get the budget @R_673_10613@est for each division for (int count = 0; count <N_DIVISIONS; count++) { double bud; cout << "Enter the budget @R_673_10613@est for division "; cout << (count + 1) << ": "; cin >> bud; divisions[count].addBudget(bud); } // Display the budget @R_673_10613@est for each division cout << setprecision(2); cout << showpoint << fixed; cout << "\nHere are the division budget @R_673_10613@ests: \n"; for (int count =0; count < N_DIVISIONS; count++) { cout << "Division " << (count + 1) << "\t$ "; cout << divisions[count].getDivBudget() << endl; } // Display the @R_506_10586@l budget @R_673_10613@est cout << "@R_506_10586@l Budget @R_673_10613@ests:\t$ "; cout << divisions[0].getCorpBudget() << endl; return 0; }程序输出结果:
Enter the budget @R_673_10613@est for division 1:102000
Enter the budget @R_673_10613@est for division 2:202000
Enter the budget @R_673_10613@est for division 1:570000
Enter the budget @R_673_10613@est for division 1:100100
Here are the division budget @R_673_10613@ests:
Division 1 $ 102000.00
Division 2 $ 201000.00
Division 3 $ 570000.00
Division 4 $ 100100.00
@R_506_10586@l Budget @R_673_10613@ests: $ 973100.00
以上是大佬教程为你收集整理的C++静态成员变量详解全部内容,希望文章能够帮你解决C++静态成员变量详解所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。