如何从该类之外的类中访问函数?
示例:
int main(int argc, char *argv[])
{
class ImageLoading
{
void Loading()
{
cout << 5 <<endl;
}
};
Loading();
return 0;
}
答案 0 :(得分:3)
类中定义的标准函数是实例类。它只能用于实例,即创建的对象。
为此,您需要创建一个ImageLoading
类实例:
ImageLoading instance;
instance.Loading();
也可以创建与类关联的函数,而不是它的实例。为此,您需要在函数定义
中添加关键字static
static void Loading()
{
cout << 5 << endl;
}
然后要使用它,你需要告诉它是ImageLoading
中定义的静态类。语法为ClassName::MethodName()
所以:
ImageLoading::Loading();
答案 1 :(得分:2)
你只需要创建一个类的实例,然后用它调用它。
ImageLoading image;
image.Loading();
答案 2 :(得分:1)
在类之外访问类的功能需要以下两项中的一项:
static
功能。让我们快速谈谈课程。默认情况下,当您为函数或变量设置class
默认访问修饰符时,private:
意味着只有类本身可以调用它,还有一些其他类可以访问它,但这并不是真正相关的这次。在发布的问题中,函数Loading
是私有的。这意味着它只能在类中调用。即使有班级的实例,也无法从main
调用它。
如果您想在没有对象实例的情况下调用该函数,则需要static
和public
。
使用您的代码的示例:
class ImageLoading
{
public:
static void Loading()
{
cout << 5 << endl;
}
};
int main(int argc, char *argv[])
{
ImageLoading::Loading();
return 0;
}
static
函数的缺点是它不属于类的实例,所以如果你的类变量不是静态的,静态函数就不能修改它们而没有实例那个对象。
这是一个很好的资源,其中包含c ++中Access Modifiers
的一些示例:
http://en.cppreference.com/w/cpp/language/access
答案 3 :(得分:0)
类在main方法之外定义:以下是执行此操作的正确方法:
class ImageLoading
{
void Loading()
{
cout << 5 <<endl;
}
};
int main(int argc, char *argv[])
{
ImageLoading Obj;
Obj.Loading();
return 0;
}