04 2020 档案

摘要:这是一个简单的类的声明和调用 #include<iostream> #include<string> class Entity { private: std::string m_Name; int m_Age; public: Entity(const std::string& name) :m_N 阅读全文
posted @ 2020-04-30 22:54 Wangtn 阅读(147) 评论(0) 推荐(0) 编辑
摘要:new的作用是在堆上申请内存空间,首先写"new",然后再写申请空间存放的数据类型,申请空间的大小取决于数据的类型,比如申请一个空间存放整型变量,那么堆会分配4byte,然后我们需要知道分配的空间在什么位置,所以返回的是指针类型 #include<iostream> #include<string> 阅读全文
posted @ 2020-04-24 19:17 Wangtn 阅读(613) 评论(0) 推荐(0) 编辑
摘要:#include<iostream> #include<string> using String = std::string; class Entity { private: String m_Name; public: Entity() :m_Name("Unknow"){} Entity(con 阅读全文
posted @ 2020-04-22 16:15 Wangtn 阅读(302) 评论(0) 推荐(0) 编辑
摘要:三元表达式相当于if结构,这个表达式返回一个值,"?"前面的是判断条件,如果满足判断条件,返回引号前面的值,如果条件不满足,返回引号后面的值。 #include<iostream> #include<string> static int s_Level = 1; static int s_Speed 阅读全文
posted @ 2020-04-21 17:41 Wangtn 阅读(374) 评论(0) 推荐(0) 编辑
摘要:对于一个类,我们需要给他赋初值,这时候构造函数就起到了这个作用,构造函数在类实体被建立的那一刻起就被调用并且给类赋上了初值,下面为类写两个构造函数 #include<iostream> #include<string> class Entity { private: std::string m_Na 阅读全文
posted @ 2020-04-21 17:24 Wangtn 阅读(457) 评论(0) 推荐(0) 编辑
摘要:假设我们新建一个const类,并且想要通过类内方法直接原封不动地返回成员变量m_Name,此时代码使用const不会有任何问题,但是如果我还想要通过一个常量来记录debug的次数,此时就需要用到mutable #include<iostream> #include<string> class Ent 阅读全文
posted @ 2020-04-20 21:16 Wangtn 阅读(172) 评论(0) 推荐(0) 编辑
摘要:const类型是你对编译器承诺的一个常量,仅仅是承诺,你可以像现实生活中一样打破承诺。但是就像现实生活中一样,我们也应该遵守承诺。常量类型的作用就是使代码变得更加简洁高效。 如果我们新建一个整型变量,那么我们是可以随意修改他的 int a=5; a=2; 但是如果变成常量的话则无法去修改 const 阅读全文
posted @ 2020-04-18 17:25 Wangtn 阅读(250) 评论(0) 推荐(0) 编辑
摘要:字符串本质上是双引号中的字符集合。 将鼠标放在带马上可以看到,虽然我们的字符串包含六个字母,但是他的长度为7,这是因为字符串结尾需要一个标志位,表示字符串的结束,这个标志就是\0,如果将"\0"加入到字符串中间,那么打印时就会出现如下效果 #include<iostream> #include<st 阅读全文
posted @ 2020-04-16 18:04 Wangtn 阅读(279) 评论(0) 推荐(0) 编辑
摘要:要弄清c++中的string如何工作,首先要弄清c++中的字符是如何工作的,字符是什么 #include<iostream> int main() { const char *name= "Wangtn"; //name[2]='s'; std::cin.get(); } 如果没有const,下面注 阅读全文
posted @ 2020-04-14 11:54 Wangtn 阅读(1158) 评论(0) 推荐(0) 编辑
摘要:数组表示一类数据的集合 #include<iostream> int main() { int example[5]; int *ptr = example; for (int i = 0; i < 5; ++i) { example[i] = 2; } example[2] = 5; *((int 阅读全文
posted @ 2020-04-13 16:18 Wangtn 阅读(171) 评论(0) 推荐(0) 编辑
摘要:常见的三种visibility类型:private ,protected ,public c++类中的默认可见性类型是private,c++结构体的默认可见类型是public private的意思是,只有这个类才可以读写,使用private类型 #include<iostream> class En 阅读全文
posted @ 2020-04-13 14:50 Wangtn 阅读(858) 评论(0) 推荐(0) 编辑
摘要:纯虚函数指父类中的这个虚函数是完全空白的。普通的虚函数我们需要在子类中对其进行复写。默写情况下我们需要子类中的子函数完全提供属于他自己的定义而与父类中的虚函数没什么联系。当父类中采用纯虚函数时,不能够直接使用他,必须使用子类中的继承 #include<iostream> #include<strin 阅读全文
posted @ 2020-04-12 16:53 Wangtn 阅读(812) 评论(0) 推荐(0) 编辑
摘要:虚函数允许我们在子类中将方法进行重写,假如有AB两个类,B是A的子类,如果我们在A中建立一个方法并将其标记为虚函数,那么我们将可以在B类中对其进行改写以完成其他的功能 #include<iostream> #include<string> class Entity { public: std::st 阅读全文
posted @ 2020-04-11 16:23 Wangtn 阅读(269) 评论(0) 推荐(0) 编辑
摘要:是一个父类Entity,父类中包含的成员有坐标XY以及移动函数move #include<iostream> class Entity { public: float X,Y; void Mive(float xa,float ya) { X+=xa; Y+=ya; } }; class Playe 阅读全文
posted @ 2020-04-11 15:37 Wangtn 阅读(142) 评论(0) 推荐(0) 编辑
摘要:当我们新建一个类的实例时,构造函数会被调用,当我们这个实例被销毁时,析构函数被调用。构造函数是将需要用到的东西进行初始化,那么同样的,析构函数是与初始化相反的过程,用来清空内存以便于接下来使用。对应的,如果使用new来申请空间,那么需要用delete来进行析构,如果只是基于堆栈来进行空间申请,那么当 阅读全文
posted @ 2020-04-11 15:08 Wangtn 阅读(1273) 评论(0) 推荐(0) 编辑
摘要:#include<iostream> class Entity { public: float x,y; void Print() { std::cout<<x<<","<<y<<std::endl; } }; int main() { Entity e; e.Print(); std::cin.g 阅读全文
posted @ 2020-04-10 17:15 Wangtn 阅读(202) 评论(0) 推荐(0) 编辑
摘要:枚举类型可以简化代码并且避免一些不必要的错误 #include<iostream> int A=0; int B=1; int C=2; int main() { int value=B; if(value==B) { //Do something } std::cin.get(); } ABC都是 阅读全文
posted @ 2020-04-10 14:46 Wangtn 阅读(191) 评论(0) 推荐(0) 编辑
摘要:static根据上下文语意有两种含义,一种是在类和结构体内,另一种时类在结构体外。 类外的static在链接阶段是局部的,它只对它的编译单元(.obj)可见,而类内的static表示这个变量将在类内与所有实例共享 Static.cpp static int s_Variable=5; main.cp 阅读全文
posted @ 2020-04-09 20:35 Wangtn 阅读(3332) 评论(0) 推荐(0) 编辑
摘要:类是一个数据与函数的集合体。以游戏为例,如果我们用变量来描述游戏中人物的信息,我们需要描述他的坐标x,y表示他在屏幕中的位置,还有他移动的速度,如果我们要引入第二个玩家,那么就需要同样含义的变量来进行描述,同时名字还要与第一个任务的这些变量不同。引入类会使得工作更加简单。 #include<iost 阅读全文
posted @ 2020-04-07 17:30 Wangtn 阅读(366) 评论(0) 推荐(0) 编辑
摘要:引用是指针的延申,本质相同但是引用的写法和可阅读性更强。 引用是引用一个已经存在的变量,而指针可以新建一个不存在的新指针 #include<iostream> #define Log(x) std::cout<<x<<std::endl int main() { int a=5; int *b=&a 阅读全文
posted @ 2020-04-05 15:26 Wangtn 阅读(243) 评论(0) 推荐(0) 编辑
摘要:指针本质就是一个地址,告诉我们变量存储在内存的什么位置,程序做的每一件事都要读取或者写入内存。指针只是一个地址,它是一个整数,存储着一个内存地址。 空指针,给指针赋予一个为0的地址,0实际上不是一个有效的内存地址,这就意味着这个指针时无效的,但对于指针来说,内存地址无效是一个可以接受的状态。 访问变 阅读全文
posted @ 2020-04-03 15:45 Wangtn 阅读(163) 评论(0) 推荐(0) 编辑
摘要:调试的主要两部分:设置断点和查看内存 断点指程序运行到此处会中断,此时可以查看内存,了解程序运行的如何,变量如何定义,函数如何调用。断点可以在任意一行设置。 F10跳到下一行,F11跳入这一行调用的函数,shift+F11跳出 程序可以通过设置断点来逐行运行 如何查看内存 阅读全文
posted @ 2020-04-01 16:15 Wangtn 阅读(2051) 评论(0) 推荐(0) 编辑
摘要:头文件很有用,很多函数都需要一个位置来共用声明(不是定义,定义只能定义一次)。 工程中有两个cpp文件 main.cpp #include<iostream> void Log(const char* message) { std::cout<<message<<std::endl; } int m 阅读全文
posted @ 2020-04-01 11:22 Wangtn 阅读(343) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示