根本的原因是: circle的数据乘员r没有被赋值,赋值的是radius。调用circle(r)时,将传入的r赋值给radius。此时,radius有值,而circle的数据成员r没有值。在计算面积或周长时,用的是r,而不是radius。
修改:把计算面积或周长的函数中的r改为radius,就可以了。
你定义了两个成员变量,构造函数给radius赋值,但函数里都用r,可你没给r赋值啊!!!删除radius成员变量,构造函数中改为this->r = r;