佚名通过本文主要向大家介绍了类名 函数名,类名 函数,类名,java类名命名规范,类名命名规则等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 类名只能调用静态函数??
描述:
code=C/C++]
另一个类中:
我如果用
A a;
a.test(3);//这样可以 但是
A::test(3);//这样就不可以
//但是如果在类A中把test定义成静态函数 static int test(int n);
A::test(3);//这样就可以 为什么啊??
[/code]
解决方案1:
描述:
#pragma once
class A
{
public:
A(void);
public:
~A(void);
public:
int test(int n);
private:
int a;
};
code=C/C++]
另一个类中:
我如果用
A a;
a.test(3);//这样可以 但是
A::test(3);//这样就不可以
//但是如果在类A中把test定义成静态函数 static int test(int n);
A::test(3);//这样就可以 为什么啊??
[/code]
解决方案1:
说简单点,如果类名可以调用普通成员函数,请问那个ecx (this)指针怎么写进去?
静态:
A::Test();
非静态:
A a;
a.Test();
静态成员函数是类级别的 普通成员函数是对象级别的
解决方案4: 静态的成员函数和一般的非类成员的函数是一样的
只是多了一个类名作为 namespace
所以静态的成员函数完全可以用类外的普通函数替换
类名就是命名空间,只能访问静态等对象,对于其他需要通过类的对象访问