水煮千秋 2022-04-13 15:00 采纳率: 100%
浏览 10
已结题

本人在c++调用指针的时候出现了一些问题,感觉非常有意思且疑惑,求解答

起因是本人想要在一个类中的函数通过指针调用另一个类的私有数据成员,但发现,修改前代码一与代码二输出结果不同,但经过修改过后,偶然发现,修改后代码一与代码二输出结果相同,百思不得其解,故发出疑问。
代码一(修改前)
static double calArea( const Rectangle&p2)
{
const Rectangle* p1 = &p2;
double Height = ((double)p1);
p1++;
double Width = ((double)p1);
return Height * Width;
}

代码一(修改后)
static double calArea( const Rectangle&p2)
{
const Rectangle* p1 = &p2;
double Height = ((double)p1);
p1++;
double Width = ((double)p1-1);
return Height * Width;
}

代码二:
static double calArea( const Rectangle&p2)
{
const Rectangle* p1 = &p2;
double Height = ((double)p1+0);
double Width = ((double)p1+1);
return Height * Width;
}
被调用类的那部分代码:
class Rectangle{
double height,width;
public:
Rectangle(double h,double w):height(h),width(w){}
double getHeight()const{
return height;
}
double getWidth()const{
return width;
}
};

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 4月21日
    • 创建了问题 4月13日

    悬赏问题

    • ¥20 测距传感器数据手册i2c
    • ¥15 RPA正常跑,cmd输入cookies跑不出来
    • ¥15 求帮我调试一下freefem代码
    • ¥15 matlab代码解决,怎么运行
    • ¥15 R语言Rstudio突然无法启动
    • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
    • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
    • ¥15 用windows做服务的同志有吗
    • ¥60 求一个简单的网页(标签-安全|关键词-上传)
    • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法