编程论坛's Archiver

newyj 发表于 2008-5-8 10:42

类中static函数的问题?

在没有实例化时 就可以用静态成员函数来调用 静态数据成员
而 实例化 以后 静态成员函数和非静态成员函数是不是就可以看成一样了

sunkaidong 发表于 2008-5-8 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;
}

newyj 发表于 2008-5-8 11:00

谢谢了啊
实例化之后不是都会 开辟内存地址吗?
那这样说 静态和非静态的 就一样了
我就是想问问 静态函数和非静态函数 有什么不同
只是 在没有实例化的时候 静态的也可以使用 就这点区别吗?

sunkaidong 发表于 2008-5-8 11:15

区别是没实例时得区别..static在非实例时候就可以用

newyj 发表于 2008-5-8 11:22

哦 谢谢了

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.