社区
C++ 语言
帖子详情
指针问题
woomo
2008-02-29 02:25:21
现有类
class A{
...
};
class B{
...
};
class C:public A,public B{
...
};
和
C Cobj;
B *pb;
问题:
如何让pb正确指向Cobj;
...全文
181
10
打赏
收藏
指针问题
现有类 class A{ ... }; class B{ ... }; class C:public A,public B{ ... }; 和 C Cobj; B *pb; 问题: 如何让pb正确指向Cobj;
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ShardowM
2008-02-29
打赏
举报
回复
C Cobj;
B *pb;
pb = &Cobj; //子类到父类是不需要类型转换的.
C *pc;
pc = dynamic_cast<C*>(pb); //父类到子类是要类型转换的
bill_fang
2008-02-29
打赏
举报
回复
C Cobj;
B *pb;
pb = dynamic_cast<B*>(&C);
cut9
2008-02-29
打赏
举报
回复
pb=&Cobj;
即可。
C++编译器自己会处理偏移量。
B* pb = &CObj;
A* pa = &Cobj;
注意 pa 和 pb 指向的地址可能是不同的。
woomo
2008-02-29
打赏
举报
回复
楼上的意见如何写
laolaoliu2002
2008-02-29
打赏
举报
回复
pb = &Cobj;----对检查严格的编译器是编不过的.
woomo
2008-02-29
打赏
举报
回复
pb=&Cobj;就可以了
laolaoliu2002
2008-02-29
打赏
举报
回复
"坏"的这种方法很可能会导致程序崩溃.
laolaoliu2002
2008-02-29
打赏
举报
回复
不可能吧.
sizeof(C)>=sizeof(A)+sizeof(B);
珍惜生命远离CPP
2008-02-29
打赏
举报
回复
pb = &Cobj;
p0303230
2008-02-29
打赏
举报
回复
pb -> Cobj
C语言
指针
的一坨
问题
内存泄漏、空
指针
解引用、悬空
指针
(Dangling Pointer)、双重释放(Double Free)、未初始化的
指针
(Uninitialized Pointer)、未检查的分配失败(Unchecked Allocation Failure)、数组越界(Buffer Overflow)、使用后释放(Use-after-free)、内存重叠错误、类型不匹配、
指针
算术错误、内存别名、指向常量的
指针
、void
指针
的使用以及函数
指针
误用
结构体
指针
与非
指针
问题
及解决
项目使用结构体
指针
不使用结构体
指针
(结构体数组)内存管理需自己分配、释放(可能内存泄漏)编译期静态分配,自动管理数据共享可在多个模块间共享同一结构体是拷贝副本,无法共享拷贝开销拷贝
指针
,开销小拷贝整个结构体,开销可能更大安全性易出错(空
指针
、悬空
指针
)更安全,逻辑更直观灵活性灵活,可实现动态注册、释放等功能结构固定,适合数据量已知、场景简单。
面试
问题
指针
篇
Q:我如果不能成功定义一个链表了,typedef struct { char *item;} *NODEPTR;编译器报了错误信息。难道在C语言中一个结构不能包含指向自己的
指针
吗?如果可以,我应该怎么做?A:C 语言中的结构当然可以包含指向自己的
指针
;NODEPTR 例子的
问题
是在声明 next 域的时候 typedef 还没有定义。为了解决这个
问题
, 首先赋予这个结构一个标签 (“struct node”)。
双
指针
问题
有序矩阵中第K小的元素 给定一个 n x n 矩阵,其中每行和每列元素均按升序排序,找到矩阵中第 k 小的元素。 请注意,它是排序后的第 k 小元素,而不是第 k 个不同的元素。 matrix = [ [ 1, 5, 9], [10, 11, 13], [12, 13, 15] ], k = 8, 返回 13。 可以利用类双
指针
的方法来对本题进行解答,传统的双
指针
方法如下: 符合条件1,左边
指针
动一下,符合条件2,右边
指针
动一下,直到两个
指针
相遇,满足条件 这种方法也叫尺取法,可
有关空
指针
,野
指针
以及相关内存
问题
何为空
指针
?空
指针
是指给
指针
赋值为NULL。 何为野
指针
?野
指针
是指定义
指针
时未对
指针
进行初始化,此时
指针
随机指向一个单元。 因为传入的是str
指针
所指向的地址(NULL),p
指针
指向NULL,通过malloc开辟堆区空间赋值给
指针
p,p
指针
指向堆区空间,但main函数里的str
指针
一直是空
指针
,所以输出报段错误;同时在堆区开辟空间没进行free释放,造成内存泄漏。...
C++ 语言
65,213
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章