C++类基础概念求助

isarc 2007-04-30 10:34:49
在C++中,派生类可以继承并使用基类的pubulic函数,那么基类的对象(先不算定义指针的对象)可不可以使用派生类的public函数呢?在实际试验中,结果表明可以。
在书中,我从来没有看见过关于这个的说明,也许我太走马观花了,越编程越发现基础概念的重要!请大家给讲讲,或者指点下在哪里学这个基础知识。如果有其它的关于类的基本概念用法介绍请给个链接。
谢谢。
...全文
339 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
qhfu 2007-04-30
  • 打赏
  • 举报
回复
好像,,。。
楼主对C++ 还不是很理解,,
想想凭什么 base class的对象去调用派生类的函数, 给一个对象,,要让他调用函数, 编译器总得 查找一下, 这个对象的 类是不是 有这个函数, 如果没有 肯定就编译出错了, 对于 一个 派生类的 共有函数 , 或私有 函数, 无论什么 函数, 只要不是从基类基称 过来的,, 基类是不可能知道的, , 所以, ,根本 无从 讨论这个问题。 。 :)
isarc 2007-04-30
  • 打赏
  • 举报
回复
我请教c++基础问题,你让我来看你的blog,刚好看到最上面的文章烧狗,看了标题和一小段没有点击进去看。触发感慨,给你留言。可是我没有新浪id,在这里写。

芙蓉骚货出卖无耻以谋暴利,谁成之?无耻小人见利而思效之,虐猫虐狗之何人何心?谁激之,谁促之?敢为天下大不韪者非无畏也,能无耻也。斩其利,又何人愿为?谁人愿吾国人自私无耻?君思之否?
michaeldg 2007-04-30
  • 打赏
  • 举报
回复
一个派生类对象同时也是它基类的对象,所以调用基类函数时,实际上是调用它在基类中定义,但在派生类中实现的函数。这就是多态的用法

这个我想应该一是派生类的对象可以调用基类的函数来使用,二来如果利用c++的多态性的话。
那么如果把某个基类的成员函数声明成虚函数(如果在基类中定义了)的话,派生类中定义与基类虚函数中同名的函数的话,那么派生类使用此函数时既可以使用基类定义的这个函数也可以使用派生类重定义的这个函数,看你怎么用法。
如果把某个基类的成员函数声明成纯虚函数的话,那么基类中只需要声明即可,派生类只调用自己定义的这个函数!
这个就体现了c++中的类的多态性
Aaron9979215 2007-04-30
  • 打赏
  • 举报
回复
比如在一个学校里定义“人”是基类,在“人”里定义abstract函数“上课”,“老师”,“学生”是“人”的派生类,“老师”对“上课”的实现动作是“讲课”,学生对上课实现的动作是“听课”。

现在有老师甲,学生乙;
看下面这个“开始上课”方法:

public void 开始上课(人 man)
{
man.上课();
}
那么既可以写开始上课(甲),也可以写开始上课(乙)
但两人的动作是不同的。
也就是说一段代码实现了不同操作。
isarc 2007-04-30
  • 打赏
  • 举报
回复
虚心向每一个人学习我不会而他会的。小偷经验反其道而学之用之。
kendan 2007-04-30
  • 打赏
  • 举报
回复
up
lidongri 2007-04-30
  • 打赏
  • 举报
回复
blog.sina.com.cn/lidongri
里面的设计模式有很多类似的用法
声明:我很菜
isarc 2007-04-30
  • 打赏
  • 举报
回复
你说的这个基类实际上还是一个派生类,一个派生类对象同时也是它基类的对象,所以调用基类函数时,实际上是调用它在基类中定义,但在派生类中实现的函数。这就是多态的用法。
===================================================================================
谢了,你前半句说的是派生类的对象可以调用基类的函数来使用,是吧?这个我明白,后面的不太明白,能否说的详细些?
Aaron9979215 2007-04-30
  • 打赏
  • 举报
回复
你说的这个基类实际上还是一个派生类,一个派生类对象同时也是它基类的对象,所以调用基类函数时,实际上是调用它在基类中定义,但在派生类中实现的函数。这就是多态的用法。
小一郎 2007-04-30
  • 打赏
  • 举报
回复
好像可以吧
AiNiLife 2007-04-30
  • 打赏
  • 举报
回复
没听说过。不知道是不是指的是虚函数
taodm 2007-04-30
  • 打赏
  • 举报
回复
买本C++ Primer认真看吧。
「LLM那些事」系列第 4 篇《上下文窗口的边界》,文章连接:https://blog.csdn.net/houwenjin/article/details/163999753。 演示什么:在「预测」Sheet 的黄色格子里输入一句话(默认「来泡一杯」),四个「模型」——分别只统计最后 1 / 2 / 3 / 4 个字的 n-gram 查表——同时预测下一个字。同一个输入,看的上下文越长,候选越少、预测越确定: ┌────────────────┬──────────┬───────────────┬──────┐ │ 只看最后几个字 │ 用的前缀 │ 候选下一字数 │ 预测 │ ├────────────────┼──────────┼───────────────┼──────┤ │ 1 个 │ 杯 │ 3(茶/子/水) │ 模糊 │ ├────────────────┼──────────┼───────────────┼──────┤ │ 2 个 │ 一杯 │ 2(茶/水) │ 收窄 │ ├────────────────┼──────────┼───────────────┼──────┤ │ 3 个 │ 泡一杯 │ 1(茶) │ 确定 │ ├────────────────┼──────────┼───────────────┼──────┤ │ 4 个 │ 来泡一杯 │ 1(茶) │ 确定 │ └────────────────┴──────────┴───────────────┴──────┘

65,213

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧