社区
C++ 语言
帖子详情
问下关于类的东西
s8232642
2011-03-14 02:23:43
1. 一个空类占几个字节?为什么
2. 一个类里面只有一个成员函数,占几个字节?为什么
3. 一个类里面只有一个虚函数,占几个字节?为什么?
4. 为什么基类析构函数一般都是虚函数?
...全文
83
7
打赏
收藏
问下关于类的东西
1. 一个空类占几个字节?为什么 2. 一个类里面只有一个成员函数,占几个字节?为什么 3. 一个类里面只有一个虚函数,占几个字节?为什么? 4. 为什么基类析构函数一般都是虚函数?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
LinuxBirdMan
2011-03-14
打赏
举报
回复
[Quote=引用 3 楼 pathuang68 的回复:]
引用 1 楼 linuxbirdman 的回复:
1)如果没虚函数则1字节,有则4字节。。。class B;b[10];这样能区分每个元素
2)1字节
3) 4字节
4)便于继承的时候,基类对象的析构
个人觉得第4个回答,有点问题。
比如有两个类base(基类)和derived(派生类),如果base中的析构函数非虚,那么
C/C++ code
base *b = ……
[/Quote]
没表达清楚。。就是你这个意思。。
辛鹤
2011-03-14
打赏
举报
回复
1)如果没虚函数则1字节,有则4字节。。。class B;b[10];这样能区分每个元素
2)1字节
3) 4字节
4)便于继承的时候,基类对象的析构
quwei197874
2011-03-14
打赏
举报
回复
如果想详细了解请看<inside c++对象模型>这本书,哈哈,书名可能有点出入.
pathuang68
2011-03-14
打赏
举报
回复
请参考:
虚析构函数问题:为什么要将基类的的析构函数设成虚的?
pathuang68
2011-03-14
打赏
举报
回复
[Quote=引用 1 楼 linuxbirdman 的回复:]
1)如果没虚函数则1字节,有则4字节。。。class B;b[10];这样能区分每个元素
2)1字节
3) 4字节
4)便于继承的时候,基类对象的析构
[/Quote]
个人觉得第4个回答,有点问题。
比如有两个类base(基类)和derived(派生类),如果base中的析构函数非虚,那么
base *b = new derived;
delete b;
derived的析构函数将不会被调用,从而发生内存泄露。
因此,基类的析构函数设为虚函数,是为了在上面的情况下(这样的情况比比皆是)能够正确地调用派生类的析构函数。
恨天低
2011-03-14
打赏
举报
回复
第四个问题,你可以看看《effective C++》条款14: 确定基类有虚析构函数
附《effective C++》下载地址:
http://download.csdn.net/source/2990015
LinuxBirdMan
2011-03-14
打赏
举报
回复
1)如果没虚函数则1字节,有则4字节。。。class B;b[10];这样能区分每个元素
2)1字节
3) 4字节
4)便于继承的时候,基类对象的析构
面试被问到不懂的
东西
,是直接说不懂还是坚持狡辩一下?
说个瑶琴面试时遇到的真事,瑶琴的本职工作是前端开发,有一次我去面试的时候,面试官从前端基础到实战经验都问了个遍,后来问我有没有接触过xxx技术,他详细的描述了公司目前一个项目的情况和现在用到的技术,由于我确实没有过相关的项目经验,之前也没有对这个项目里用到的技术进行调研,便诚实的回答了没有。很多项目可能是很早的老项目,项目老,技术也不新,市面上的公司也大概不会用到,这时话费时间去熟悉,去学习对职业发展帮助不大。有些人觉得,我面试岗位的时候,岗位职责也不是这些,现在要做自己不熟悉的
东西
,好痛苦。
JAVA
类
的定义
/我也可以手动赋值 现在他的默认值就不是0.0 而是60了。public class Student{ //
类
里边要定义的
东西
-->属性和方法。//1 以前 写方法的时候会有一个 static 这个不是方法的要求。(就像去面试首先要问你都会什么------>也就是你都具备哪些方法。// 从现在开始写方法不需要在写这个 (static后期会具体讲)//分数 0.0。public void study(){ //学习方法。
为什么要用抽象
类
总觉得 抽象
类
可以被 非抽象
类
所代替,那么为什么还要用 抽象
类
呢? 问你个问题,你知道什么是“
东西
”吗?什么是“物体”吗? “麻烦你,小王。帮我把那个
东西
拿过来好吗” 在生活中,你肯定用过这个词--
东西
。 小王:“你要让我帮你拿那个水杯吗?” 你要的是水杯
类
的对象。而
东西
是水杯的父
类
。通常
东西
类
没有实例对象,但我们有时需要
东西
的引用指向它的子
类
实例。 你看你的房间乱
java rectangle
类
_Rectangle
类
详解
一,概括:乍一看,可能感觉是一个矩形
类
,矩形
类
就是画一个长方形吗??这是我一开始见到这个
类
的感觉。其实不是的Rectangle是一个“区域”
类
,它的最大作用就是定义一个矩形的区域,如果问为什么是矩形,不是圆形,三角形···Anyway···因为从程序的角度来说,矩形是最适合表示的。Rectangle
类
其实之前在介绍Bitmapdata的时候大家也不陌生了,很多Bitmapdata变化区域的界定就是...
Java 抽象
类
、普通
类
、接口的区别——值得你一看的干货
且不说会有很多人合作一起写一个程序,哪怕还是你一个人写,也保不住有忘记的时候,那时候编译器不报错,茫茫码海上哪找错误去面向对象说到底就是方便你思考,易扩展、易维护管理,硬要说没必要,整个面向对象都没必要了,C语言有什么干不了的呀,运行效率还高。抽象的概念是由具体概念依其“共性”而产生的,把具体概念的诸多个性排出,集中描述其共性,就会产生一个抽象性的概念。所以,在高级语言上,一个
类
只能继承一个
类
或抽象
类
,正如人不可能同时是动物
类
又是植物
类
,但是可以实现多个接口,例如,吃饭接口、呼吸接口等。
C++ 语言
65,187
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章