1、对象的实例化
在c++中类是一个模板,对象的实例化其实就是计算机根据一个类的设计制造出多个对象的过程。
对象实例化有两种方式:
- 从栈实例化
- 从堆实例化
2、从栈实例化
class TV
{public:
char name[20];//电视机的铭牌
int type;//电视机的型号
void changeVol();//音量调节
void power();//电源控制
};
类名+对象
int main(void)
{
TV tv;
TV tv[20];
return 0;
}
3、从堆实例化对象
int main()
{
int *p=new TV();
int *q=new TV[20];
delete p;
delete []q;//指定为数组内存的释放
return 0;
}
3、对象成员的访问
栈实例化对象成员的访问
int main()
{
TV tv;
tv.type=0;
tv.changeVol();
return 0;
}
堆实例化对象成员的访问
int main()
{
TV *p=new TV();//声明一个指针,用来指向对象
p->type=0;//指针指向对象的属性type
p->changeVol();//指针指向对象的属性changeVol()
delete p;//用来释放申请的内存空间,以免造成内存泄漏
p=NULL;
return 0;
}
代码演示:
#include<iostream>
using namespace std;
class Coordinate
{
public:
int x;
int y;
void printX()
{
cout<<x<<endl;
}
void printY()
{
cout<<y<<endl;
}
};
int main(){
//栈访问
Coordinate coor;
coor.x=10;
coor.y=20;
coor.printX();
coor.printY();
//堆访问
Coordinate *p=new Coordinate();
if(NULL==p)
{
return 0;//申请内存失败
}
p->x=100;
p->y=200;
p->printX();
p->printY();
delete p;
p=NULL;
return 0;
}
运行结果:
不忘初心,方得始终!