12.6

来源:互联网 发布:我国教育经费机制知 编辑:程序博客网 时间:2024/04/26 03:25
本节大意
介绍了面向对象编程中的static机制

细节摘录
1. 使用static的好处:a 避免和其他全局事物产生命名冲突 b 封装性 c 可读性
2. 访问方式   类::static对象名
3. static函数的限制 a 成员不能用this b 不能声明为const,也没必要声明。 c 不能声明为虚函数
4. static数据成员必须在类的外部定义一次且只能定义一次
5. 对于const成员可以在声明时初始化,但还是要在外部定义一次。
6. static成员变量可以用作默认实参,可以在对象中定义自身类型。

课后习题
1. 就是某个类的所有对象共享的成员,优点见细节摘录1,缺点是使用起来有不少限制,其他参见细节摘录。
2. 略
3.4.5
#include <iostream>using namespace std;class Foo {private:int a;public:Foo(int a);int GetNum();};Foo :: Foo(int a) {this->a = a;}int Foo :: GetNum() {return a;}class Bar {private:static int b;static Foo c;public:Bar();Foo FooVal();int callsFooVal();};// 标准声明加定义格式int Bar :: b=0;Foo Bar :: c(0);Bar :: Bar() {}Foo Bar :: FooVal() {b++;return c;}int Bar :: callsFooVal() {return b;}int main(){Bar b;cout << b.FooVal().GetNum() << endl;b.FooVal();cout << b.callsFooVal() << endl;return 0;}

原创粉丝点击