社区
C++ 语言
帖子详情
派生类是否会复制基类的非static成员函数
chenpping
2011-11-01 06:15:58
设派生类直接继承了一个基类的非static成员函数,它是否会拷贝一份成员函数的代码至内存中
...全文
75
9
打赏
收藏
派生类是否会复制基类的非static成员函数
设派生类直接继承了一个基类的非static成员函数,它是否会拷贝一份成员函数的代码至内存中
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mskmc_mc
2011-11-01
打赏
举报
回复
基类成员函数 不会与 派生类成员函数形成重载
你说还会复制基类成员函数到派生类吗?
要么为什么派生类中可以静态调用基类的成员函数
所为静态调用
基类::函数();
ithzhang
2011-11-01
打赏
举报
回复
成员函数在内部是以普通函数的形式存在的。
神农氏
2011-11-01
打赏
举报
回复
[Quote=引用 3 楼 chenpping 的回复:]
楼上没理解,我不是说的类对象。
ok,假设我们有以下的码
class base
{
public:
void func();
private:
int a;
};
class derived:public base
{
private:
int b;
};
假设我们base b;然后我们可以b.func来调用b……
[/Quote]
编译器首先查找本类,没有才查父类。
zzcmx2008
2011-11-01
打赏
举报
回复
不会,对于一般的非虚函数,已经继承到派生类中了,因为函数只是放在一个类似于全局的表中,不会因为对象的多少,而变化。若为虚函数,则将派生类中虚函数表对于基类函数的位置替换成派生类的函数地址。
北辰天云
2011-11-01
打赏
举报
回复
楼上正解,只是编译查找问题
turing-complete
2011-11-01
打赏
举报
回复
[Quote=引用 3 楼 chenpping 的回复:]
楼上没理解,我不是说的类对象。
ok,假设我们有以下的码
class base
{
public:
void func();
private:
int a;
};
class derived:public base
{
private:
int b;
};
假设我们base b;然后我们可以b.func来调用b……
[/Quote]
从derived的定义中找函数func的定义,没找到则找基类,没找到则找基类,没找到则找基类, 。。。。。。
chenpping
2011-11-01
打赏
举报
回复
楼上没理解,我不是说的类对象。
ok,假设我们有以下的码
class base
{
public:
void func();
private:
int a;
};
class derived:public base
{
private:
int b;
};
假设我们base b;然后我们可以b.func来调用base的成员函数。如果我们定义一个derived d。这时调用d.func。编译器如何判决。
神农氏
2011-11-01
打赏
举报
回复
不存在复制的问题,每个类的成员函数编译器编译出来就是一个全局的函数,只是参数中加了一个this而已。所以,函数在类对象中不占空间。
mengmingtao
2011-11-01
打赏
举报
回复
不会。
C++
派生类
向
基类
的类型转换
本篇主要参考《C++ Primer 第5版》,为什么
派生类
能向
基类
进行类型转换。...因为
派生类
对象中含有
基类
的组成部分,所以可以用
基类
类型的指针指向
派生类
对象中的
基类
部分,安全地访问
基类
部分的成员
派生类
与
基类
的转换关系
派生类
对象可以转换为
基类
对象(
static
_cast),访问的是
基类
成员函数
;同时
派生类
指针可以转换为
基类
指针(reinterpret_cast),访问的是
基类
成员函数
基类
对象无法转换为
派生类
对象;但是
基类
指针可以转换为
派生类
...
基类
调用
派生类
函数
如果是
基类
中的virtualfunction,并且...如果
基类
中没有
派生类
的一个函数,而通过
基类
的指针或者引用操纵
派生类
的指针或引用,必须用显示downcast才可以使用,比如:classBase{};classDerived:publicBase{public:...
C++多态用
派生类
指针调用
基类
虚函数
多态的使用方法是当
基类
指针指向
派生类
对象时,可以直接调用
派生类
重写的虚函数,而不是
基类
的虚函数。实现方法也是老生常谈,通过每个对象中的虚函数表指针,去找属于自己类的虚函数执行。那如果用
派生类
指针指向...
C++
派生类
函数调用
基类
的函数
在MFC的程序中,我们经常
会
看到下面的程序片段,
C++ 语言
64,632
社区成员
250,955
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章