对象
CMyDate类
class CMyDate
{
private:
int year,month,day;
public:
void Show()
bool LeapYear()
int Weekday
};
//类的定义,也称“定义了一个类”
有了类型可以定义变量
有了类可以定义对象(类的实例化)
1.对象是类的实例表现形式
2.创造对象通过类中的构造方法完成
3.一个类可以创建多个对象,每个对象相对独立
CMyDate bir;
//CMyDate 类型名,比照类型
//bir 对象名,比照变量
含有类的C++程序的结构,创建对象
- 1.在函数内部定义局部对象
在栈中分配存储区,执行函数的return则释放该对象
#include<stdio.h>
class CMyDate
{
private:
int year,month,day;
public:
void Show()
{
printf("%d-%d-%d",year,month,day);
}
};
//CMyDate bir; 全局对象
int main()
{
CMyDate bir;//定义一个对象,main函数内的对象,是局部对象
bir.Show();//调用该对象的Show函数
//类的对象.成员
//结构体中 结构体变量.域
}
-
2.在函数外定义全局对象
在静态区中分配存储区,程序运行之后释放该对象 -
3.在程序运行过程中用new申请对象
在堆中分配,执行相应的delete命令时释放
int main()
{
CMyDate *q; //先定义一个指向CMyDate的指针变量,再用new申请一个对象
q = new CMyDate; //申请地址
q->Show();
delete q;//删除地址,归还给系统
- 从结构体到类
——在结构体(只有数据成员)的基础上添加函数成员和访问权限
结构体类型 —— 类
结构体变量 —— 对象
结构体变量的域 —— 对象的成员
int 类型 —— CMyDate类
int x —— CMyDate a;
int *p = new int;——CMyDate *q=new CMydate
-
C++三种创建对象的方式
1.在栈中创建局部对象
2.在静态区中创建全局对象
3.在堆中创建对象(成为堆对象) -
访问对象成员
1.引用对象的成员变量——对象名.变量名
2.引用对象的成员方法——对象名.方法名(参数)