类之间的相互转换,在这里由于complex类的定义在类polar之后,所以类polar不能直接使用complex,因此要现在类polar前声明complex类,由于这只是一个声明,所以类polar只能使用complex的声明,而不能使用它的具体成员,所以polar中的转换函数和构造函数只能在类中声明...
分类:
编程语言 时间:
2014-05-19 17:40:20
阅读次数:
266
空的类是会占用内存空间的,而且大小是1,原因是C++要求每个实例在内存中都有独一无二的地址。(一)类内部的成员变量:普通的变量:是要占用内存的,但是要注意对齐原则(这点和struct类型很相似)。static修饰的静态变量:不占用内容,原因是编译器将其放在全局变量区。(二)类内部的成员函数:普通函数...
分类:
编程语言 时间:
2014-05-19 17:23:13
阅读次数:
270
对于每一个声明的函数,里边都会带有一个prototype成员,prototype会指向一个对象,现在我们来聚焦prototype指向的这个对象,首先我们会认为,这个对象是一个该函数对应的一个实例对象,因为我们在new一个对象的时候,通常都会继承该原型prototype对象的属性和方法。比如:
...
分类:
编程语言 时间:
2014-05-19 17:21:58
阅读次数:
362
第十章 深入函数1.
普通函数的重载将相同名字不同类型的函数重复调用多次来处理不同类型的数据①根据参数类型不同进行重载②根据参数个数不同进行重载2. 函数的缺省参数具有默认参数的函数
重载的是参数的数值☆可见函数重载主要是根据参数进行重载(函数都可以被重载)3. 重载构造函数4. 成员变量的初始化有...
分类:
其他好文 时间:
2014-05-19 17:05:21
阅读次数:
299
python:“蟒蛇”import py_compile
:编译模块,生成pyc文件,或者pyo文件;python -o -m py_compile hello.pypython 补充: 运算符:in/not
in,成员测试, is/not is,同一性测试,三重引号(docstring)的作...
分类:
编程语言 时间:
2014-05-19 17:02:49
阅读次数:
322
第十一章 运算符重载1. 运算符重载2. 在成员函数中实现自加3. 重载前置自加运算符返回类型
operator@(参数表){}@代表要重载的运算符对象运算符重载不同于变量运算符重载void
operator++(){++n;}++i;//等价于i.operator++();若i是变量 则++i就是...
分类:
其他好文 时间:
2014-05-19 17:00:08
阅读次数:
304
第十二章 继承1. 什么是继承和派生?继承:派生: 2. 复杂的继承和派生.3.
继承和派生如何在C++中实现.4. 单一继承.在实际应用中可以将 基类和派生类视为一个整体5.
保护成员.封装的含义:为了解决这个问题我们引进了protected。6. 公有派生的公有成员.子类可以直接调用7. 公有派...
分类:
其他好文 时间:
2014-05-19 16:37:22
阅读次数:
269
对齐规律:占用最大成员类型的整数倍,每个成员的对齐地址为该成员类型的整数倍struct{
int a; 0-3char b;4-5 int
c;8-11}:12含位域:使用位域的主要目的是压缩存储,其大致规则为:1)如果相邻位域字段的类型相同,且其位宽之和小于类型的sizeof大小,则后面的字段将....
分类:
其他好文 时间:
2014-05-19 14:15:02
阅读次数:
204
要区别设计良好的模块与设计不好的模块,最重要的因素在于,这个模块对于外部的其他模块而言,是否隐藏其内部数据和其他实现细节。设计良好的模块会隐藏所有的实现细节,把它的API与它的实现清晰地隔离开来。
信息隐藏之所以非常重要有许多原因,其中大多数理由都源于这样一个事实:它可以有效的解除组成系统的各...
分类:
其他好文 时间:
2014-05-19 13:03:30
阅读次数:
173
首先定义一个三角形类
class Triangle//三角形类
{
public:
double getA(void);//得到a的值
double getB(void);//得到b的值
double getC(void);//得到c的值
void setA(double x);//设置a的值
void setB(double y);//设置b的值
void setC(double...
分类:
其他好文 时间:
2014-05-18 13:44:00
阅读次数:
326