您的位置:首页 > 其它

父类的正常成员函数子类可以使用,并不是继承下来 的,子类是怎么调用父类的函数 : 可能是利用了一种叫函数名联编的方法.没有隐藏的情况下用函数名字来决定调用的函数.

2014-05-09 22:24 1026 查看
1父类的正常成员函数子类可以使用,并不是继承下来 的,子类是怎么调用父类的函数 : 可能是利用了一种叫函数名联编的方法.没有隐藏的情况下用函数名字来决定调用的函数.

子类是怎样调用父类的函数的,带汇编解释

http://blog.csdn.net/hejinjing_tom_com/article/details/4165462


2C++中的基类与派生类,看后半部分.

http://www.cnblogs.com/sujz/articles/2044365.html

3

在面试中有时会问到某个类或对象所占内存的大小,今天先总结一下,其实这涉及到C++的内存布局,等以后有时间好好总结一下,今天就把想到的一些记录一下:
1.       普通的成员函数不会占内存,但是普通的成员变量占内存
2.       Static的变量和函数都不会占内存。
3.       Virtual成员函数(包括纯虚函数)会占内存,因为会有一个vptr指向virtual table的原因,所以不管有多少个virtual函数,均只占一个sizeof(vptr)=4
4.       派生类:需要加上其基类的size                      (自己补充:什么虚函数虚表的,     ,就知道派生类是有每个基类的vtptr的)

4
游戏有关增加虚函数不影响各组件内存结构

http://bbs.csdn.net/topics/390128286

5多态,虚函数,纯虚函数,抽象类
有助解决很多细节问题的大总结:如 多态的作用:继承是子类使用父类的方法,而多态则是父类使用子类的方法。
纯虚函数用来规范派生类的行为,实际上就是所谓的“接口”。它告诉使用者,我的派生类都会有这个函数。
http://blog.csdn.net/skylor/article/details/4028552

6


父类的静态函数会不会被子类继承?


父类的静态函数会不会被子类继承?

2013-01-24 10:57卡卡卡の西 | 分类:C/C++ | 浏览582次
如果可以,子类中怎么调用父类的静态函数?


分享到:



2013-01-24 11:40网友采纳

这其实不叫继承,这是可以全局调用的,静态函数不属于任何一个类的实例,在类被加载的时候,静态函数就会被创建,他的调用是通过类名调用的,所以你用子类类名调用父类静态函数和用父类类名调用这个静态函数完全一样没有任何区别


追问

可不可以在子类的成员函数中调用这个父类静态函数?该怎么写呢
class child: public father
{
void fun()
{
father::静态函数(); //1
静态函数();            //2
}
}:
1还是2?


回答

1,子类的对象或者父类的名字,你还可以写成this-> 静态函数()


评论 | 0 2



人间一枚惆怅客 | 来自团队 编程★终结者 | 六级 采纳率37%

擅长: Windows C/C++ JAVA相关 JavaScript Html/Css


其他类似问题

2011-03-13C#
静态主函数可以访问非静态函数吗

2014-02-21派生类能否继承父类静态成员函数 1

2010-06-19基类的虚函数(非静态)可不可以被子类改变为静态函数? 6

2009-06-09Java
静态的数据也被子类继承么? 2

2008-12-03当类里面的一个函数被声明为static那这个静态方法就不能被继... 3

更多相关问题>>

按默认排序 | 按时间排序


其他3条回答

2013-02-02 02:14马云飞cool | 五级

不会被继承。只是个全局调用。
静态函数存放于对象模型内存之外。与类继承无关。


评论 | 0 0

2013-01-24 14:57bladeLd | 四级

会的
只要是public、protected访问控制符修饰的,子类类名、子类对象(或对象引用、指针)都可以调用这个父类的静态函数的。

------------------------------------------------------------------------------------------------------------------------------------------------------------------------

7   析构函数定义成虚函数的原因:当用基类指针去调用析构函数时,保证先调用了子类再调用自己,  不然只调用自己漏了子类没析构
析构函数执行时先调用派生类的析构函数,其次才调用基类的析构函数。如果析构函数不是虚函数,而程序执行时又要通过基类的指针去销毁派生类的动态对象,那么用delete销毁对象时,只调用了基类的析构函数,未调用派生类的析构函数。这样会造成销毁对象不完全。

为什么基类和子类被看成是同一类型:  因为子类是从基类派生出来的(通过偏移指针就能来回改变小类型),以基类类型为准.所以看到的通常都是基类在左值

http://blog.csdn.net/alane1986/article/details/6902233

http://zhidao.baidu.com/link?url=x11dhURucfRTB9yLZ0sQS7_Uy5xiWS7Z7k8U610u3-VTwstzWBbupx3395VYBpOC84TywIdv9dFoEK5tEMUP_q

{C++}
COM 组件多层聚合嵌套原理

http://www.cnblogs.com/shiyangxt/archive/2010/12/04/1896398.html

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐