摘要: 如果一个派生类的派生符是public 则 ,将基类称为 父类,派生类称为子类,C++ 允许,父类的指针直接指向子类的对象,或者父类引用子类:#include<iostream>#include<stdio.h>#include<stdlib.h>using namespace std;class point{ int x; int y; public: point(int x,int y):x(x),y(y){} void show(){ cout<<"point"<<endl;} };class circle:p 阅读全文
posted @ 2012-12-19 20:23 一把刷子 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 1: 若引用变量 a 引用的是 对象 b ,则 对象的构造和析构由 b完成, 与 a 无关。2: 若被引用变量 a 引用的是 能够自动调用构造函数的 new 生成的,则必须用能自动调用 析构函数的 delete &a 析构对象,否则将导致内存泄露。3: 若指针 a 指向的对象是用 new 生成的,则 必须调用 delete a 析构对象,不能调用free (a) ,否则将导致内存泄露。 #include <iostream.h>#include<stdio.h>#include<stdlib.h>using namespace std;class A 阅读全文
posted @ 2012-12-19 19:45 一把刷子 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 单继承派生类只有一个基类或虚基类,根据4个优先级别容易确定构造顺序:首先调用派生类虚基类的构造函数;无论虚基类的构造函数列出否总会被执行;接着调用派生类基类的构造函数,无论基类的构造函数列出与否总会被执行;然后按照派生类数据成员声明的顺序,依次初始化数据成员或调用相应构造函数,对象成员无论列出与否总会被构造;在然后最后执行派生类的构造函数体。析构是构造的逆序,所以反过来就行。 #include <iostream.h>#include<stdio.h>#include<stdlib.h>using namespace std;class A{ int a;p 阅读全文
posted @ 2012-12-19 17:30 一把刷子 阅读(910) 评论(0) 推荐(0) 编辑