[問題] 指標問題
以下是我做的小小測試 不過我故意不寫成繼承
class AA{
public:
AA():x(0),a(0){}
int x;
int a;
void FOO(){cout<<"A"<<endl;}
};
class BB{
public:
BB():y(0.0),b(0.0){}
double y;
double b;
int z;
void FOO(){cout<<"B"<<endl;}
};
int main()
{
BB *pb=new BB;
AA* p=(AA*)pb;
p->x=5;
//cout<<int((int)pb->y>>4);
char *ptr=(char*)&pb->y;
ptr-=4;
cout<<(int)*ptr;
return 0;
}
如果ptr不-4 印的出5
可是我不懂為啥可以印
1. 我覺得要-4阿 小印第安不是 低位元擺在低位址嗎?
另外就是
2. p->FOO()為啥可以正常印出A~~~ 這我觀念比較不好
有辦法解釋為啥這樣可以正確呼叫嗎?
3. 如果我想印出5 而不透過 一個ptr 有辦法直接將pb->y做一些手腳嗎??
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.24.92.44
推
01/29 22:51, , 1F
01/29 22:51, 1F
推
01/29 23:01, , 2F
01/29 23:01, 2F
→
01/29 23:02, , 3F
01/29 23:02, 3F
→
01/29 23:06, , 4F
01/29 23:06, 4F
推
01/29 23:10, , 5F
01/29 23:10, 5F
→
01/29 23:11, , 6F
01/29 23:11, 6F
推
01/29 23:16, , 7F
01/29 23:16, 7F
→
01/29 23:17, , 8F
01/29 23:17, 8F
→
01/29 23:17, , 9F
01/29 23:17, 9F
→
01/29 23:18, , 10F
01/29 23:18, 10F
→
01/29 23:20, , 11F
01/29 23:20, 11F
→
01/29 23:21, , 12F
01/29 23:21, 12F
→
01/29 23:35, , 13F
01/29 23:35, 13F
→
01/29 23:37, , 14F
01/29 23:37, 14F
推
01/29 23:38, , 15F
01/29 23:38, 15F
→
01/29 23:39, , 16F
01/29 23:39, 16F
→
01/29 23:40, , 17F
01/29 23:40, 17F
推
01/29 23:42, , 18F
01/29 23:42, 18F
→
01/29 23:43, , 19F
01/29 23:43, 19F
→
01/29 23:44, , 20F
01/29 23:44, 20F
→
01/29 23:44, , 21F
01/29 23:44, 21F
→
01/29 23:46, , 22F
01/29 23:46, 22F
→
01/29 23:48, , 23F
01/29 23:48, 23F
→
01/29 23:49, , 24F
01/29 23:49, 24F
推
01/29 23:49, , 25F
01/29 23:49, 25F
→
01/29 23:49, , 26F
01/29 23:49, 26F
→
01/29 23:50, , 27F
01/29 23:50, 27F
→
01/30 00:01, , 28F
01/30 00:01, 28F
→
01/30 00:01, , 29F
01/30 00:01, 29F
→
01/30 00:02, , 30F
01/30 00:02, 30F
推
01/30 00:03, , 31F
01/30 00:03, 31F
→
01/30 00:04, , 32F
01/30 00:04, 32F
→
01/30 00:04, , 33F
01/30 00:04, 33F
推
01/30 00:05, , 34F
01/30 00:05, 34F
→
01/30 00:05, , 35F
01/30 00:05, 35F
→
01/30 00:05, , 36F
01/30 00:05, 36F
→
01/30 00:07, , 37F
01/30 00:07, 37F
→
01/30 00:08, , 38F
01/30 00:08, 38F
→
01/30 00:18, , 39F
01/30 00:18, 39F
推
01/30 00:23, , 40F
01/30 00:23, 40F
→
01/30 00:24, , 41F
01/30 00:24, 41F
→
01/30 00:26, , 42F
01/30 00:26, 42F
→
01/30 00:27, , 43F
01/30 00:27, 43F
→
01/30 00:27, , 44F
01/30 00:27, 44F
→
01/30 00:28, , 45F
01/30 00:28, 45F
推
01/30 00:30, , 46F
01/30 00:30, 46F
→
01/30 00:30, , 47F
01/30 00:30, 47F
→
01/30 00:30, , 48F
01/30 00:30, 48F
→
01/30 00:31, , 49F
01/30 00:31, 49F
→
01/30 00:32, , 50F
01/30 00:32, 50F
→
01/30 00:32, , 51F
01/30 00:32, 51F
推
01/30 00:35, , 52F
01/30 00:35, 52F
→
01/30 00:36, , 53F
01/30 00:36, 53F
→
01/30 00:40, , 54F
01/30 00:40, 54F
推
01/30 00:41, , 55F
01/30 00:41, 55F
→
01/30 00:42, , 56F
01/30 00:42, 56F
→
01/30 00:43, , 57F
01/30 00:43, 57F
→
01/30 00:44, , 58F
01/30 00:44, 58F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章