为了账号安全,请及时绑定邮箱和手机立即绑定

c++中类内的函数怎么调用

c++中类内的函数怎么调用

C++
紫衣仙女 2019-03-31 00:00:22
void bookmanger::add() //bookmanger类已经定义好了,add函数也写完整了,但是调用的时候怎么调用啊我调用的时候写的是bookmanger::add();但是编译出错:cannot call function"bookmang::add()"without object谁能解释一下是怎么回事啊
查看完整描述

4 回答

?
明月笑刀无情

TA贡献1828条经验 获得超4个赞


不能用类名调用,要用对象名来调用,比如你可以这样做:先定义一个对象,再用这个对象来调用函数
bookmanger bm1;
bm1.add();
如果你一定要用类名来调用,可以定义函数为static:
static void bookmanger::add()


查看完整回答
反对 回复 2019-04-01
?
慕哥6287543

TA贡献1831条经验 获得超10个赞


你必须先创建一个bookmanger副本,然后用
bookmanger bm;
bm.add()
或者
bookmanger *bm = new bookmanger();
bookmanger->add()调用。

还有
你的manager拼错了。。因该是bookmanager





查看完整回答
反对 回复 2019-04-01
?
呼如林

TA贡献1798条经验 获得超3个赞

先实例化一个对象,bookmanager bm1;
bm1.add();这样调用。
bookmanger::add()这样的调用方法只有在有方法覆盖或重写时才能调用,或者将该方法设为静态方法。

查看完整回答
反对 回复 2019-04-01
?
BIG阳

TA贡献1859条经验 获得超6个赞

你必须先创建一个bookmanger副本,然后用bookmanger bm;bm.add()或者,bookmanger *bm = new bookmanger();bookmanger->add()调用。

如果你一定要用类名来调用,可以定义函数为static:static void bookmanger::add()。

函数中的manager拼错了,应该是bookmanager。

c++构造函数:C++用以初始化对象的数据成员的一种函数。完好定义的类一旦建立,就可看成完全封装的实体,可以作为一个整体单元使用。类的实际内部工作隐藏起来,使用完好定义的类的用户不需要知道类是如何工作的,只要知道如何使用它即可。

扩展资料:

构造函数作用:

初始化对象的数据成员,规则:构造函数与类同名且无返回值,在对象实例化时自动调用、构造函数可以有多个重载形式、实例化对象时仅用到一个构造函数、当用户没有定义构造函数时,编译器自动生产一个构造函数。

编译系统为对象的每个数据成员(m_strName)分配内存空间,并调用构造函数School()自动地初始化对象的m_strName值设置为"bullworth"。

在C++中,类是支持数据封装的工具,对象则是数据封装的实现。C++通过建立用户定义类支持数据封装和数据隐藏。

在面向对象的程序设计中,将数据和对该数据进行合法操作的函数封装在一起作为一个类的定义。对象被说明为具有一个给定类的变量。每个给定类的对象包含这个类所规定的若干私有成员、公有成员及保护成员。





查看完整回答
反对 回复 2019-04-01
  • 4 回答
  • 0 关注
  • 886 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信