社区
C语言
帖子详情
虚函数和继承问题?
billik
2002-06-27 05:53:31
base 类中含有虚函数
derived 为base的继承类
base a*= new derived [200];
derived::set(base* value)
{
a[0]=*value;
}
上面的语句是否正确?
其中调用的时候外面付给value的值的类型也是derived类型
怎样才能将外面传来的derived值保存下来?
...全文
54
14
打赏
收藏
虚函数和继承问题?
base 类中含有虚函数 derived 为base的继承类 base a*= new derived [200]; derived::set(base* value) { a[0]=*value; } 上面的语句是否正确? 其中调用的时候外面付给value的值的类型也是derived类型 怎样才能将外面传来的derived值保存下来?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
movingboy
2002-06-27
打赏
举报
回复
编译时就应该通不过。
carfieldQ_Q
2002-06-27
打赏
举报
回复
derived d;
derived2 d2;
d2.SetValue(d);
~~~~
最后一句为什么不会成功呢?
//////////
首先:编译通过没有?,这个程序里类之间的相互调用太多,太乱,我实在不知道能否编译通过(我指你的完整的程序)
如果编译通过了,最后一句执行却不成功我想可能有以下原因:
1.
class derived2
{
public:
derived2();
virtual setValue(base&a);
~~~~
};
derived d; 虽然derived是base的子类,可能也存在类型不匹配的问题。
2. 你的参数定义的是应用类型,那调用的时候最好用引用类型或者指针类型
改成 d2.SetValue(&d);试试看
:)
不知道能不能帮到你,也不知道自己说得对不:)
qxp
2002-06-27
打赏
举报
回复
吧你的全部的代码都贴出来吧,上面那个太乱了,
billik
2002-06-27
打赏
举报
回复
快呀,帮帮忙,我急坏了!!!!!
billik
2002-06-27
打赏
举报
回复
哪个的拷贝构造函数?
我已经在derived中写了呀
haidaya
2002-06-27
打赏
举报
回复
你的那个derived2中的values是个什么东西呀,属于undeclared identifier
SetValue()中的i也是,没有申明呀,
这句values[i] = value;什么意思?
我看不懂这段程序
casho
2002-06-27
打赏
举报
回复
要用到拷贝构造函数
billik
2002-06-27
打赏
举报
回复
比较急,请各位高手帮帮忙!
billik
2002-06-27
打赏
举报
回复
哪个的默认构造函数?
billik
2002-06-27
打赏
举报
回复
class base
{
public:
virtual int F1()=0;
};
class derived : public base
{
private:
int a;
public
virtual int F1();
};
class base2
{
public:
base* values;
public:
virtual setValue(base& a)=0;
};
class derived2
{
public:
derived2();
virtual setValue(base&a);
};
derived2::derived2()
{
values = new derived[200];
}
derived2::setValue(base& value)
{
values[i] = value;
}
以上是类的定义
调用:
derived d;
derived2 d2;
d2.SetValue(d);
最后一句为什么不会成功呢?
leasun
2002-06-27
打赏
举报
回复
可以,不过别忘了默认构造函数
andy_lau
2002-06-27
打赏
举报
回复
把整个类的代码贴出来,不明白你的意思。
Wargod2002
2002-06-27
打赏
举报
回复
不明白为什么要这样搞
billik
2002-06-27
打赏
举报
回复
急,帮帮忙!!!!
关于
继承
和
虚函数
的
问题
本文探讨了C++中
虚函数
在
继承
上下文中的行为差异。通过具体代码示例展示了当基类函数为
虚函数
或非
虚函数
时,派生类对象通过基类指针调用成员函数的不同表现。
一个关于
继承
和
虚函数
的
问题
本文探讨了C++中抽象类的概念及其实例化的条件。通过具体的代码示例,展示了如何通过
继承
使一个含有纯
虚函数
的类成为抽象类,并且进一步说明了如何通过实现纯
虚函数
将抽象类变为可实例化的具体类。
C++ 多态、虚析构、模板类、常函数、虚
继承
、
虚函数
和纯
虚函数
相关知识和
问题
总结
本文围绕C++展开,介绍了多态,包括静态多态和动态多态的实现方式;阐述了虚析构的必要性和不能虚构造的原因;说明了模板类在编译时实例化;还讲解了常函数、虚
继承
、
虚函数
和纯
虚函数
的概念、作用及区别等信息技术相关内容。
虚
继承
和
虚函数
的相关
问题
浅析
本文详细解析了C++中一个复杂的多重
继承
案例,包括类A、B、C及D的内存布局与虚表机制。阐述了如何解决钻石
问题
,并解释了变量为何不是简单按顺序存放的原因。
继承
和基类的
虚函数
的访问限制和默认参数值的
问题
本文探讨了C++中
虚函数
在不同访问控制及默认参数值下的行为表现,通过具体实例展示了基类指针调用派生类
虚函数
时的特性。
C语言
70,038
社区成员
243,247
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章