c++初步认识
来源:互联网 发布:android 淘宝首页布局 编辑:程序博客网 时间:2024/06/07 02:10
现在偶尔学学c++,隔一段时间就忘了c++的一些基本概念或者操作方法,现在把自己的东西记录一哈
较老的版本
#include<iostream.h>
std::cout<<""<<std::endl;
和
#include<iostream>
using namespace::std;//告诉编译程序使用std名称空间,这是标准c++库声明使用的名称空间
cout<<""<<endl;
两种形式
标准c++头文件不再使用.h
常见头文件:
stdio :standard buffered input&output
带缓冲的输入和输出
iostream : input output stream
标准输入输出流-----cin cout
ctype
字符处理函数 ----getc pintf gets fwriter。。
本类别函数用于对单个字符进行处理,包括字符的类别测试和字符的大小写转换
math
函数处理函数
stdlib
字符串转换 存储器 退出程序等------atol。 malloc exit
string
对字符串进行合并比较--strcpy memecpy strcmp
time
对时间和日期的处理--clock time mktime
出自:http://blog.csdn.net/nkcszwb/article/details/5396269
今天面试android,却做了一套c的题,真的是各种不上手啊。现在把c遇到的问题都记一下,以免隔断时间又忘光了。
c构造函数和析构函数的调用顺序:
#include <stdio.h>#ifndef AAA#define AAAclass A {public:A(){printf("构造方法A\n");}void fun(){ printf("fun A\n");}virtual ~A(){ printf("析构方法A\n");}};#endif;
#include "A.cpp"#include<iostream>using namespace::std;class B : public A{public:B(void){printf("构造方法B\n");}void fun(){cout<<"fun B\n"<<endl;} virtual ~B(void){printf("析构方法B\n");}};
int main(int argc,char *argv[]){//A a;//B b;//A* p1=&a;//A* p2=&b;A* p1 = new A();A* p2 = new B();p1->fun();p2->fun();printf("a:%d\n",p1);printf("b:%d\n",p2);delete p2;delete p1;system("pause");}
结果:
构造方法A
构造方法A
构造方法B
fun A
fun A
a:4082760
b:4075776
析构方法B
析构方法A
析构方法A
1,子类继承父类,构造方法先父类后子类;析构函数先子类后父类。
总结两者的顺序:先构造的后析构,也就是说构造的顺序和析构的顺序相反
2,delete对象完成两个动作,析构和释放空间,当执行delete时,先调用析构函数, 然后调用operate delete删除指针(据说说话应该是把指针指空,而不是删除指针)。
对象只在生命周期结束时自动调用析构函数释放对象资源。delete这个动作标志生命周期结束,就必然引起析构
3,如果把main.cpp的注释内容反注释,把new A() new B()注释,这时的delete会在运行的时候报This may be due to a corruption of the heap错误,
这是因为这样声明A a和B b, 它的生命周期到该方法结束。我delete 释放了资源,然后在方法结束的时候系统又回自动回收对象A ,B,就会导致上面这个错误。
4,new出来的对象是在堆上,需要手动释放,其他系统会自动释放。
- 初步认识C语言
- c/c++基础(十四) 初步认识gcc
- 黑马程序员——初步认识Objective-C
- C语言笔记之指针的初步认识
- 13.3 多个.c文件的初步认识
- μC/OS-II系统初步认识及基本数据类型
- 【C#】对Visual Studio使用的初步认识
- IBM AIX初步认识
- 指针的初步认识!
- 初步认识Struts
- ARCSDE初步认识
- ajax初步认识
- 初步认识 JSON
- 初步认识JFreeChart
- Oracel初步认识
- 初步认识Irr引擎
- Struts初步认识
- openlayers 初步认识
- Android中的Activity
- 短地址,短URL服务 - 百度,TinyURL
- view在UIViewController中的生命周期
- gst-openmax介绍
- 【算法导论】c++实现堆排序
- c++初步认识
- 俞敏洪老师的这段话......
- MFC序列化技术的实现
- 让你的Lable拥有qq表情!
- SysListView32控件响应鼠标单击消息
- 登陆状态备忘
- 再也不能这样活 再也不能那样过
- CString,int char*之间的转换
- windows 控件编程