C++学习笔记
来源:互联网 发布:java jdk32位下载 编辑:程序博客网 时间:2024/05/29 19:21
对象
1、在C++中调用对象不用new。如下例:
class rectangel{public:rectangel(int l,int w){length=l;width=w;}rectangel(){cout<<"构造函数在运行...\n";}int area(){return length*width;}private:int length;int width;};int main(){rectangel a(3,4);cout<<"长方形a的面积为:"<<a.area()<<endl;rectangel b;cout<<"长方形b的面积为:"<<b.area()<<endl;return 0;}
2、对象调用完后就会执行析构函数。例:
class A {public:A(); ~A();};A::A(){cout<<"构造函数执行完毕!\n";}A::~A(){cout<<"析构函数执行完毕!\n";}int main(){A a;return 0;}打印:
构造函数执行完毕!
析构函数执行完毕!
3、数组对象析构。例:
class A {public:A();~A();};A::A(){cout<<"构造函数执行完毕!\n";}A::~A(){cout<<"析构函数执行完毕!\n";}int main(){A a[2];return 0;}打印:
构造函数执行完毕!
构造函数执行完毕!
析构函数执行完毕!
析构函数执行完毕!
指针
4、指针的实际值。例:
int main(){int i=1;cout<<&i<<endl;return 0;}打印:002CFD0
int main(){int a; int *p; p=&a; cout<<&a<<endl; cout<<p<<endl;return 0;}打印:0022FB38
0022FB38
指针初始化。例:
int main(){int *p=0;cout<<p<<endl;return 0;}打印:00000000
为止指针赋值。例:
int main(){float *p=0; float a=3.14f; p=&a;return 0;}
int main(){int a=1;int *p;p=&a;cout<<*p<<endl;cout<<a<<endl;cout<<p<<endl;cout<<&a<<endl;return 0;}打印:
1
1
005DFEFC
005DFEFC
重点:
int main(){int i;int *p=0;cout<<"i的地址为:"<<&i<<endl;cout<<"p的值为:"<<p<<endl;cout<<"p的内存地址为:"<<&p<<endl;/*cout<< "*p的值为" << *p << endl;*/因为没有赋值所以无法查看*pi=3;cout<<"i的地址为:"<<&i<<endl;p=&i;cout<<"p的值为:"<<p<<endl;cout<<"p的内存地址为:"<<&p<<endl;cout << "*p的值为" << *p << endl;return 0;}打印:
重点:用指针修改放在i中的数据
typedef unsigned short int ut;int main(){ut i;ut *p=0;i=5;p=&i;cout<<"i="<<i<<endl;cout << "&i=" << &i << endl;cout<<"*p="<<*p<<endl;cout << "p=" << p << endl;cout << "&p=" << &p << endl;cout<<"用指针来修改放在i中的数据...\n";*p=90;cout<<"i="<<i<<endl;cout << "&i=" << &i << endl;cout<<"*p="<<*p<<endl;cout << "p=" << p << endl;cout << "&p=" << &p << endl;i=9;cout<<"i="<<i<<endl;cout << "&i=" << &i << endl;cout<<"*p="<<*p<<endl;cout << "p=" << p << endl;cout << "&p=" << &p << endl;return 0;}打印:
更换地址更换值
int main(){int i=10;int j=20;int *p=&i;//初始化时可以这样赋值cout<<"i:"<<"\t"<<i<<endl;cout<<"&i"<<"\t"<<&i<<endl;cout<<"j:"<<"\t"<<j<<endl;cout<<"&j"<<"\t"<<&j<<endl;cout<<"p"<<"\t"<<p<<endl;cout<<"*p"<<"\t"<<*p<<endl;p=&j;cout<<"更换地址后\n"; cout<<"i:"<<"\t"<<i<<endl;cout<<"&i"<<"\t"<<&i<<endl;cout<<"j:"<<"\t"<<j<<endl;cout<<"&j"<<"\t"<<&j<<endl;cout<<"p"<<"\t"<<p<<endl;cout<<"*p"<<"\t"<<*p<<endl;return 0;}打印:
分配堆空间:
int main(){int *p=new int;//创建一个堆并分配内存*p=4;cout<<*p<<endl;delete p;//释放内存空间cout<<*p<<endl;p=0;p=new int;*p=8;cout<<*p<<endl;delete p;return 0;}打印:
阅读全文
0 0
- C++/C学习笔记
- 【C/C++】STL学习笔记
- C/C学习笔记/导言
- C/C学习笔记/结构
- 【c/c++】学习笔记1
- C学习笔记1
- TPC-C学习笔记
- c语言学习笔记
- C语言学习笔记
- C语言学习笔记
- 学习笔记之c
- C#-学习笔记
- Objective-C学习笔记
- C++PRIMER学习笔记
- C学习笔记
- C 学习笔记
- C/C++学习笔记
- 1.C学习笔记
- 布局展开收缩的动画
- 欢迎使用CSDN-markdown编辑器
- ViewPage+Fragment取消预加载
- 自然语言处理怎么最快入门?
- 第四周 【项目6
- C++学习笔记
- 第七周项目三—负数把正数赶出队列
- @RequestMapping 用法详解之地址映射
- JSONP跨域请求数据报错 “Unexpected token :”的解决办法
- 第五周 项目三
- LocalBroadcastManager原理分析及应用
- java并发
- 【云栖大会】云计算是普惠科技 阿里云将与制造业紧密结合推进“中国智造”
- C# 特性(Attribute)