
C++对象模型
文章平均质量分 93
C++对象模型
timeshark
猫头鹰是我的好朋友~
展开
-
(一)关于对象
在C语言中,语言本身并没有建立数据和函数之间的关联性,所以C语言被称为是面向过程(procedural)的。C++有允许用户进行自行定义的抽象数据类型(ADT),这类语言被称为面向对象的语言。 那么第一个问题来了,加上封装之后,布局成本有没有增加? 以以下一个类Point3d为例来分析。class Point3d{public: Point3d(float x = 0.原创 2016-07-27 21:39:05 · 318 阅读 · 0 评论 -
Data语意学里的一些问题
今天和小伙伴讨论了第三章data语意学的指一些的知识,感觉很有必要总结一下,似乎不总结知识就会溜走,所以冒夜写一下吧。 首先看这样的一个继承的例子: class X{ };class Y: public virtualX { };class Z: public virtualX { };class A: public Y,publicZ { }; 分别对X Y Z A取sizeof,原创 2016-07-18 11:35:18 · 846 阅读 · 0 评论 -
默认构造函数(Default constructor)的构造操作
Default constructor的构造操作1. 问:什么时候编译器才会自动合成一个默认的构造函数? 答:当编译器需要的时候。也就是说编译器合成的默认构造函数只完成编译器需要的操作,不会做其他程序员需要做的事。主要在四种情况下,编译器会合成比较有用的默认构造函数,其他情况即使合成,也是没多大用途的(有可能就不会合成了),四种情况是: - 该类内含一个对象,该对象有一个显式或隐式的构造函数。原创 2016-08-12 19:31:15 · 5111 阅读 · 0 评论