通过指针修改常对象的属性
我们知道对于常对象来说,成员属性在构造的时候被初始化后一般不能被修改,但是我们可以通过指针获取到该成员属性的地址再进行间接修改。
上代码就懂了:
#include <iostream>
using namespace std;
class Student
{
public:
Student(int n,float s):num(n),score(s){
}
Student(const Student* s){
num = s->num;
score = s->score;
}
void change(int n,float s)const{
//利用指针修改地址对应的值
//不能直接修改,要先获得地址在通过地址进行修改
// num = n;
// score = s;
int* p = (int *)(&num);
*p = n;
float* f = (float*)