类的作用域及实例化——C++

类的作用域

类定义了一个新的作用域,类的所有成员都在类的作用域中。在类体外定义成员时,需要使用 :: 作用域操作符指明成员属于哪个类域(这是为了区分函数名相同,功能类似但是作用域不同的函数

//.h
typedef int STDataType;

typedef int QDataType;

typedef struct QNode {
	QNode* next;
	QDataType data;
}QNode;

class Stack {
public:
	void Init(int num=4 );
	void Push(STDataType data);
	void Destroy();

private:
	STDataType* _a;
	int _top;		// 栈顶
	int _capacity;  // 容量 

};

class Quene {
public:
	void Init();
	void Push(QDataType x);
	void Destroy();
private:
	QNode* front;
	QNode* reer;
	int size;
};

//.cpp
void Stack::Init(int num ){}
void Stack::Push(STDataType data){}
void Stack::Destroy(){}

void Quene::Init(){}
void Quene::Push(QDataType x){}
void Quene::Destroy(){}
//可以通过作用域限定符来区分不同类作用域功能类似函数名相同的成员函数
类的实例化

用类类型创建对象的过程,称为类的实例化

  1. 类是对对象进行描述的,是一个模型一样的东西,限定了类有哪些成员,定义出一个类并没有分配实际的内存空间来存储它(相当于一个房屋图纸,规定了有什么,但是你不能把实际存在的东西放进去)
  2. 一个类可以实例化出多个对象,实例化出的对象占用实际的物理空间,存储类成员变量(相当于根据图纸做出了的房子,可以在房子里放实际存在的东西)
Stack._top();
//这个是错误的,Stack这个类类型并没有开辟空间,并不能去访问不存在于实际存储空间的成员

Stack a;
a._top();
//这个是对的,先对Stack这个类实例化,开辟了空间,可以访问这片空间中_top成员的数据
  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小奔同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值