如果在一个文件中有一个成员变量,需要在另外一个文件中修改这个成员变量。把这个成员变量加一个static变成静态成员变量即可。
如下所示:
在A.cpp中有student类
class student { public: student(); public: //声明静态成员函数 static int getTotal(); static float getPoints(); public: static int m_total; //总人数 static float m_points; //总成绩 };
在B.cpp中有teacher类,我们需要在teacher类中修改student中的m_total、m_points变量
class teacher { public: teacher(); };
此时把student中的成员变量变成静态成员变量即可。在teacher类的用法为:
teacher::teacher() { student::m_total = 10; student::m_points = 7.8; }
在student类中测试变量是否改变:
student::student() { } int student::getTotal() { std::cout<<m_total<<std::endl; return 0; } float student::getPoints() { std::cout<<m_points<<std::endl; return 0; } int student::m_total = 3; float student::m_points = 5.6;
在main函数中验证:
int main(int argc, char *argv[]) { student::getTotal(); student::getPoints(); teacher te; student::getTotal(); student::getPoints(); student st; st.getTotal(); st.getPoints(); return 0; }
输出结果为:
此时变量的值发生了改变,但是student类和teacher类是在不同的cpp文件中,实现了跨文件修改变量。
标签:getTotal,变量,int,c++,修改,static,student,teacher From: https://www.cnblogs.com/tianqianlan/p/17865569.html