关于构造函数 动态分配内存问题
定义一个学生student的类,包含他的姓名,学号,三门成绩。其中姓名和学号均为char型。而学号需要动态分配空间用new。那么在构造函数中就需要动态开辟内存。按照我的理解,构造函数的作用仅仅是赋初值的,即我定义一个student p1,那么系统在我定义的构造函数中选择一个合适的构造函数(没有参数的形式)为它赋予初值。
不用说析构函数中要用到delete来释放学号开辟的空间。
那么,接下来我希望在主函数中为我刚才定义的student p1重新赋值。所以我应该再定义一个setdata函数(类中的普通成员函数,利用p1.setdata为p1的不能直接访问的成员重新赋值),那么我需要用new再次为学号动态开辟内存吗?
这块内容可能我的理解有所问题,希望各位大神指点!