注册 登录
编程论坛 C++教室

类中static函数的问题?

newyj 发布于 2008-05-08 10:42, 1605 次点击
在没有实例化时 就可以用静态成员函数来调用 静态数据成员
而 实例化 以后 静态成员函数和非静态成员函数是不是就可以看成一样了
4 回复
#2
sunkaidong2008-05-08 10:52
实例化后,对象可以看成静态成员.即在内存中开辟地址的才可以当成静态..
#include<iostream>
#include<string>
using namespace std;

class demo
{
private:
           string  s;
    static string s1;
public:
    demo():s("动态字符"){};
    static  void show(demo &d);
};
string demo::s1="静态字符";
void demo::show(demo &d)
{
    cout<<s1<<" "<<d.s<<endl;
}
int main()
{
    demo d;
    demo::show(d);
    return 0;
}
#3
newyj2008-05-08 11:00
谢谢了啊
实例化之后不是都会 开辟内存地址吗?
那这样说 静态和非静态的 就一样了
我就是想问问 静态函数和非静态函数 有什么不同
只是 在没有实例化的时候 静态的也可以使用 就这点区别吗?
#4
sunkaidong2008-05-08 11:15
区别是没实例时得区别..static在非实例时候就可以用
#5
newyj2008-05-08 11:22
哦 谢谢了
1