[英]C++: Access to a public member function from outside of a class
我在单独的文件中定义了一个类,有时需要从另一个源文件访问一个公共成员函数。 由于某种原因,我忘记了该怎么做,编译器给了我一个错误。
我有classA.h和类A的定义类似:
class classA {
public:
int function1(int alpha);
}
并用一个单独的文件classA.cpp来实现。 然后在其他文件blah.cpp中,包含标头并尝试按以下方式访问它:
classA::function1(15);
并且我的编译器拒绝它,并返回一个错误,它找不到与“ classA :: function1(int)”匹配的内容。
如果重要的话,我会使用Embarcadero RAD studio 2010。
要调用“正常”功能,您需要一个实例。
classA a;
a.function1(15);
如果要使用classA::
调用该函数,则它必须为static
。
classA {
public:
static int function1(int alpha);
};
//...
classA::function1(15);
请注意,在静态方法中,出于相同的原因,您无法访问任何非静态成员变量-没有实例提供上下文。
function1是静态方法吗? 如果否,则需要该类的对象来调用成员函数。
在blah.cpp中包含classA.h并创建Class A的对象,然后调用成员函数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.