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

为什么我用vs2017输出的结果不一样cout <<q->getCount<< endl,这句输出的不是12而是一个地址值

#include<iostream>

#include<stdlib.h>

#include"Tank.h"

using namespace std;

class Tank

{

public:

Tank(char code);

~Tank();

void fire();

static int getCount();

private:

static int s_iCount;

char m_cCode;

};

Tank::Tank(char code)

{

m_cCode = code;

s_iCount++;

cout << "Tank" << endl;

}


Tank::~Tank()

{

s_iCount--;

cout << "~Tank" << endl;

}

void Tank::fire()

{

cout << "Tank--fire" << endl;

}

int Tank::getCount()

{

return s_iCount;

}

int main()

{

Tank *p=new Tank('A');

cout << Tank::getCount() << endl;

Tank *q = new Tank('B');

cout <<q->getCount<< endl;

delete p;

delete q;

cout << Tank::getCount() << endl;


system("pause");

return 0;

}


正在回答

2 回答

int Tank::s_iCount = 0; 

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

3118003771

没有实例化静态成员
2019-04-29 回复 有任何疑惑可以回复我~

getCount()

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

慕哥4377841 提问者

恕在下眼拙
2018-05-25 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之模板篇
  • 参与学习       91156    人
  • 解答问题       318    个

本C++教程力求即学即会,所有知识以实践方式讲解到操作层面

进入课程

为什么我用vs2017输出的结果不一样cout <<q->getCount<< endl,这句输出的不是12而是一个地址值

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信