摘要:注意空类的大小,空类比较特殊,编译器给了空类一个字节来唯一标识这个类。如果一个类没有对象,那么它的对象需要给进行占位,标识对象存在,这不存储有效数据。
C++兼容C结构体的语法
C++中的struct已经不仅仅是结构体,struct已经同时升级成类。
class className{ // 类体:由成员函数和成员变量组成 }; // 一定要注意后面的分号
class为定义类的关键字,ClassName为类的名字,{}中为类的主体,注意类定义结束时后面分号。
类中的元素称为类的成员:类中的数据称为类的属性或者成员变量; 类中的函数称为类的方法或者成员函数。
struct可以定义类,但在C++中更喜欢用class来代替
C语言面向过程——数据和方法是分离的
C++面向对象——数据和方法是封装在一起的
总结:
上方代码改正:
class stack{public: //公有(可在类外面直接访问) void StackInit() { } void StackPush(int x) { }private: //私有(不可在类外面直接访问) int* a; int top; int capacity;};int main(){ stack st; st.StackInit(); st.StackPush(1); return 0;}
总结:
改正:将Queue.cpp文件
#define _CRT_SECURE_NO_WARNINGS 1#include"Queue.h"void Queue::QueueInit()// 这里需要指定QueueInit是属于Queue这个类域{}void Queue::QueuePush(int x){}void Queue::QueuePop(){}
总结:
总结:
类实例化出对象就像现实中使用建筑设计图建造出房子,类就像是设计图,只设计出需要什么东西,但是并没有实体的建筑存在,同样类也只是一个设计,实例化出的对象才能实际存储数据,占用物理空间。
知识点:
结构体内存对齐规则:
https://blog.csdn.net/AI_ELF/article/details/117877990?spm=1001.2014.3001.5501
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/122187.html
摘要:三类的定义类体由成员函数和成员变量组成一定要注意后面的分号为定义类的关键字,为类的名字,中为类的主体,注意类定义结束时后面分号。在类和对象阶段,我们研究类的封装特性。 ...
摘要:反对者在某些领域对此予以否认。下面再引用一段来自维基百科中关于的历史。类的更严格的定义是由某种特定的元数据所组成的内聚的包。类还可以有运行时表示形式元对象,它为操作与类相关的元数据提供了运行时支持。 在开始部分,请看官非常非常耐心地阅读下面几个枯燥的术语解释,本来这不符合本教程的风格,但是,请看官谅解,因为列位将来一定要阅读枯燥的东西的。这些枯燥的属于解释,均来自维基百科。 1、问题...
阅读 630·2021-11-22 15:32
阅读 2719·2021-11-19 09:40
阅读 2312·2021-11-17 09:33
阅读 1262·2021-11-15 11:36
阅读 1863·2021-10-11 10:59
阅读 1474·2019-08-29 16:41
阅读 1778·2019-08-29 13:45
阅读 2148·2019-08-26 13:36