C++中如何用类来直接调用类中的成员函数

像下面这个程序这样
class A
{
public:
int GetNumber(){return number;}
private:
int number;
};
int main()
{
cout<<A::GetNumber<<endl;
}
不过这样会出错,提示"非法调用非静态成员函数",这怎么改成静态成员函数呢

直接用的MFC的CDC,假设对话框类的文件为a.h,a.cpp,绘图函数(drawmap( CDC *pDC ); )的文件为b.h,b.cpp,则在a.cpp中包含b.h,在a.cpp中的合适的函数中调用drawmap函数就可以了。

例如:

class A

{

static void ABC()

{

}

}

这样可以在主函数里直接用

A::ABC();

这样的语句进行调用。

扩展资料:

在C++现有类的基础上可以声明新类型,这就是继承和重用的思想。通过继承和重用可以更有效地组织程序结构,明确类间关系,并且充分利用已有的类来完成更复杂、深入的开发。新定义的类为子类,成为派生类。它可以从父类那里继承所有非私有的属性和方法,作为自己的成员。

参考资料来源:百度百科-C++

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-08-06
1.C++中只有静态成员函数才能用类名来直接调用;即 static 定义的函数定义的才行。
2.静态成员函数是属于整个类的而不是某个对象,静态成员函数只存储一份供所有对象共用。所以在所有对象中都可以共享它。
第2个回答  推荐于2017-11-21
class A
{
public:
static int GetNumber(){return number;}// 静态函数只能对静态成员操作
private:
static int number;
};

int A::number=0;// 类体外初始化

int main()
{
cout<<A::GetNumber()<<endl;

return 0;
}本回答被提问者采纳

C++中如何用类来直接调用类中的成员函数
直接用的MFC的CDC,假设对话框类的文件为a.h,a.cpp,绘图函数(drawmap( CDC *pDC ); )的文件为b.h,b.cpp,则在a.cpp中包含b.h,在a.cpp中的合适的函数中调用drawmap函数就可以了。例如:class A { static void ABC(){ } } 这样可以在主函数里直接用 A::ABC();这样的语句进行调用。

c++如何直接调用自己写的类中的函数,就像调用标准库中的函数那样
如果想要在C++里调用成员函数(包括虚函数),需要提供一个简单的包装(wrapper)。例如:\/\/ C++ code:class C{ \/\/ ... virtual double f(int);}; extern "C" double call_C_f(C* p, int i) \/\/ wrapper function{ return p->f(i);}然后,你就可以这样调用C::f():double ...

C++中两个文件中各有一个类,怎么调用另一个类中的成员
1、class A::B 也就是说将B定义为A的父类, 这样你就可以自然的在A里面用f(x)了 2、class A { B B_ins;int g(x);} int g(x){ return B_ins.f(x)} 也就是说你可以在A里面使用一个B的对象作为成员变量,这样就可以用他的函数了 ...

c++中类内的函数怎么调用
你必须先创建一个bookmanger副本,然后用bookmanger bm;bm.add()或者,bookmanger *bm = new bookmanger();bookmanger->add()调用。如果你一定要用类名来调用,可以定义函数为static:static void bookmanger::add()。函数中的manager拼错了,应该是bookmanager。c++构造函数:C++用以初始化对象的数据...

在C++中怎么调用类中的私有成员函数?
C++中调用类的私有成员函数的方法就是,在该类中再声明定义一个公有成员函数 在其函数内部调用自己的私有成员函数,向外使用的话,在别的类中包含该类的头文件,就可以通过公有函数隐式的访问私有成员函数;给个简单例子 class A { private:void fuck();public:void howfuck(){ fuck();} };incl...

C++如何在一个类的成员函数中调用另一个类的成员函数
1、首先声明如下所示的类,类内部定义一个public的整型数据成员。2、主函数中定义指向类的数据成员的指针。3、声明类的对象,该对象变量调用指向类的数据成员的指针进行赋值操作。4、然后输出打印类的数据成员,从结果看,上一步的操作赋值成功。5、定义类的指针,通过指针指向对象成员的指针来进行赋值。...

请问C++中不实例化一个类能否直接调用它的成员方法
很明显,这是可以的。类方法可以通过类名或实例来进行访问,这是语法规定。一个类的方法,不关是通过类名或是实例访问,不关访问多少次它们指向的始终是同一段代码。

C++ 父类成员函数 可以调用子类的成员函数吗
在默认构造函数初始化:m_pSon=0;那就 可以正常调用了。如果在父类默认构造函数这样初始化:m_pSon=new Cson();按理来说是应该编译错误,就算编译不报错也应该运行出错,因为会进入一个死循环,不停的申请内存,直到系统崩溃,如果楼主是在默认函数里面这样写的,那么你运行1分钟看看,是不是死机。

C++问题: 通过怎样的方式父类的对象可以直接调用子类的成员...
如果实在想访问,可以通过虚函数方式进行访问,比如:class father { public:virtual void* getElementsAddr(){ return null;} };class child : public father { public:virtual void* getElementsAddr(){ return &element;} private:int element;} void main(){ father &cFather = child();void*...

在C++中怎么调用类中的私有成员函数
class A { private:int a;public:int GetA(){ return a;} } 类内写一个public的方法,访问该私有成员即可。

相似回答