//6-3.cpp #include "Point.h" #include <iostream> using namespace std; int main() cout <"Entering main..."<<endl; Point a[2]; for(int i 0;i<2;i++) a[i].move(i+10,i+20); cout <"Exiting main..."<<endl; return 0; 26
//6-3.cpp #include "Point.h" #include <iostream> using namespace std; int main() { cout << "Entering main..." << endl; Point a[2]; for(int i = 0; i < 2; i++) a[i].move(i + 10, i + 20); cout << "Exiting main..." << endl; return 0; } 26
运行结果: Entering main... Default Constructor called. Default Constructor called. Moving the point to (10,20) Moving the point to (11,21) Exiting main... Destructor called. Destructor called. 27
运行结果: Entering main... Default Constructor called. Default Constructor called. Moving the point to (10, 20) Moving the point to (11, 21) Exiting main... Destructor called. Destructor called. 27
C++语言程序设计 清华大学郑莉 关于内存地址 ·内存空间的访问方式 通过变量名访问 通过地址访问 ·地址运算符:& 例: int var; sar表示变量r在内存中的起始查半
C++语言程序设计 清华大学 郑莉 28 关于内存地址 ⚫ 内存空间的访问方式 –通过变量名访问 –通过地址访问 ⚫ 地址运算符:& 例: int var; 则&var 表示变量var在内存中的起始地址
C++语言程序设计 清华大学郑莉 指针变量的概念 内存用户数据区 概念 指 指针:内存地址,用于 间接访问内存单元 指针变量: 2000 3 变量i 用于存放地址的变量 2004 6 变量j 针 声明 例:static int i; 变量 3010 2000 static int *ptr =&i; ptr 指向整型变量的指针 引用 ptr *ptr 例1:i=3; 例2:*ptr=3; 2000 3 2000 29
C++语言程序设计 清华大学 郑莉 29 声明 例:static int i; static int *ptr = &i; 指向整型变量的指针 概念 指针:内存地址,用于 间接访问内存单元 指针变量: 用于存放地址的变量 2000 3 ptr *ptr i 2000 内存用户数据区 变量 i 变量 j 变量 ptr 3 6 2000 2000 2004 3010 引用 例1:i = 3; 例2:*ptr = 3; 指 针 指针变量的概念
C++语言程序设计 清华大学郑莉 指针变量的初始化 指 ●语法形式 存储类型数据类型*指针名=初始地址; 例:int*pa=&a; 针 ●注意事项 用变量地址作为初值时,该变量必须在指针初 始化之前已声明过,且变量类型应与指针类型 一致。 可以用一个已赋初值的指针去初始化另一个指 针变量。 不要用一个内部auto变量去初始化'static 指针
C++语言程序设计 清华大学 郑莉 30 ⚫语法形式 存储类型 数据类型 *指针名=初始地址; 例:int *pa = &a; ⚫注意事项 –用变量地址作为初值时,该变量必须在指针初 始化之前已声明过,且变量类型应与指针类型 一致。 –可以用一个已赋初值的指针去初始化另一个指 针变量。 –不要用一个内部 auto 变量去初始化 static 指针。 指 针 指针变量的初始化