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

来源:互联网 发布:好玩的手机网游 知乎 编辑:程序博客网 时间:2024/04/29 08:18

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

按默认排序 | 按时间排序

其他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






0 0
原创粉丝点击