永发信息网

用指向常对象的指针指向一个非const对象,可以用指针访问这个对象的函数吗?

答案:2  悬赏:0  手机版
解决时间 2021-05-17 13:49
  • 提问者网友:你独家记忆
  • 2021-05-17 03:31

#include "stdafx.h"
#include <iostream>
using namespace std;
class Student
{public:
Student(int n,float s):num(n),score(s){}
void change(int n,float s) {num=n;score=s;}
void display() {cout<<num<<" "<<score<<endl;}
public:
int num;
float score;
};

int _tmain(int argc, _TCHAR* argv[])
{
Student stud(101,78.5);
const Student *p=&stud;
p->display(); //就是这个操作可以吗?
return 0;
}

最佳答案
  • 五星知识达人网友:你可爱的野爹
  • 2021-05-17 04:19
不行,由于display不是常函数,所以无法调用

void display() const {cout<<num<<" "<<score<<endl;}

加上const之后就可以了
全部回答
  • 1楼网友:洎扰庸人
  • 2021-05-17 05:45

需要时强制类型转换一下

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯