c++类的调用
来源:互联网 发布:淘宝网网址是多少 编辑:程序博客网 时间:2024/06/05 00:26
去面试了几家公司,好像每家都出了类的调用,应该就是想考考继承和虚函数的用法。确实,不背出来,现场想还得花点时间。
#include <iostream>using namespace std;class A{public: A(){cout<<"1"<<endl;} ~A(){cout<<"2"<<endl;} virtual void print() {cout<<"this is A"<<endl;}};class B : public A{public: B(){cout<<"3"<<endl;} ~B(){cout<<"4"<<endl;} virtual void print() {cout<<"this is B"<<endl;}};class C : public B{public: C(){cout<<"5"<<endl;} ~C(){cout<<"6"<<endl;} virtual void print() {cout<<"this is C"<<endl;}};int main(){ A *test = new A(); test->print(); test = new B(); test->print(); C *c = new C(); c->print(); delete test; delete c; return 0;}
输出是:
1
this is A
1
3
this is B
1
3
5
this is C
2
6
4
2
首先用new会调用构造函数,输出1,和A的print(),基类指针可以指向子类的,因为是虚方法,所以调用了B的print,但为什么是1,3?先调用父类构造函数再调用子类的?用delete会调用析构函数,声明的是A类的指针,所以是2,delete c,出现6,4,2倒是好理解,构造函数的调用顺序是1.先调用基类构造函数2.按声明顺序初始化数据成员3.最后调用自己的构造函数。所以调用构造函数是1,3,5
- c调用c++的类函数
- c代码调用c++类的方法
- c代码调用c++类的方法
- Objective-C类的创建和调用
- MySQL的c调用
- 调用c的printf
- C函数的调用-----递归调用
- PHP 调用C的代码
- C#调用C的DLL
- 调用C语言的库函数
- C语中快排的调用方法
- python调用c的方法
- Objective-c 方法的调用
- C函数的调用过程
- C/C++的库函数调用
- C调用C++的方法
- C函数的调用过程
- Qt调用C的DLL
- Extjs4---Cannot read property 'addCls' of null
- strdup与strcpy
- processing 程序1
- JobTracker和TaskTracker
- 选择屏幕上做按钮
- c++类的调用
- OC中网络传输的时候对字节流的操作 & 对字节的处理 & 野指针问题
- 关于javax.crypto.BadPaddingException: Blocktype异常的几种解决办法
- asp.net Repeater 动态添加模板列生成Table
- 基于Linux-2.6.35内核的SQLite数据库的移植
- 数组的定义、遍历、常用方法
- phpMyAdmin导入大的sql文件
- 关键字volatile
- eclipse下使用使用sun.misc.BASE64Decoder出错解决方案