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

调用对象是什么意思

#include <iostream>
#include <stdlib.h>
#include <string>
using namespace std;

/**
 * 定义人的类: Person
 * 数据成员姓名: m_strName
 * 成员函数: eat()
 */
class Person
{
public:
    string m_strName;
    void eat()
    {
        cout << "eat" << endl;
    }
};

/**
 * 定义士兵类: Soldier
 * 士兵类公有继承人类: public
 * 数据成员编号: m_strCode
 * 成员函数: attack()
 */
class Soldier:public Person
{
public:
    string m_strCode;
    void attack()
    {
        cout << "fire!!!" << endl;
    }
};

int main(void)
{
    // 创建Soldier对象
    Soldier soldier;
    // 给对象属性赋值
    soldier.m_strName = "Jim";
    soldier.m_strCode = "592";
    // 打印对象属性值
    cout << soldier.m_strName << endl;
    cout << soldier.m_strCode << endl;
    // 调用对象方法
    ?
    ?

    return 0;
}


调用对象的方法是什么意思???

正在回答

2 回答

soldier.attack()士兵调用自己的方法,attack()是士兵的方法自己私有的懂吗?可以实例化对象直接调用!我没知道士兵继承了person,因为是公有继承所以士兵也有了人类的吃饭的方法!你可能以后为什么?以为士兵公有继承了人,那么人的方法和属性都会继承来!因为士兵也是一个人,明白吗?所以他也可以eat(),因为士兵并没有重写继承来的eat(),所以可以直接调用person的eat()方法!知道为什么吗?因为士兵继承person后他就有了eat()方法,只是没有写出来!这也是为什么有继承,因为可以直接继承节省代码,如果在继续写出来,接没有继承的意义了,你只要记住,继承了,那么子类就有了父类的除了私有不可以继承的一切方法和属性!你的积分我要了。。。。。。不明白联系我llwliang@ibm.com

1 回复 有任何疑惑可以回复我~
#1

芒果蛋糕

666
2017-06-27 回复 有任何疑惑可以回复我~

调用 soldier这个对象的attack,eat方法

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之继承篇
  • 参与学习       75188    人
  • 解答问题       251    个

继承,C++面向对象三大特征之一,通过编码实践方式讲解到操作层面

进入课程

调用对象是什么意思

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号