**1. “const char *” 类型的值不能用于初始化 “char *” 类型的实体的问题 **
2. C++中 new、delate运算符
3. Sleep() 函数
4. mciSendString() 函数在 VS 中的应用
5. 析构函数(Destructor)
6. this指针
- “const char *” 类型的值不能用于初始化 “char *” 类型的实体的问题
在VS2017中编写
char *str = "dlkjfdjlj";
会报错:“const char *” 类型的值不能用于初始化 “char *” 类型的实体的问题
解决办法:
右键项目->属性->C/C+±>语言->符合模式:选择否
- C++中 new、delate运算符
new——动态申请所需要的内存空间。
3. Sleep() 函数
功能: 执行挂起一段时间,也就是等待一段时间在继续执行
用法:Sleep(时间)
头文件:Windows下为–> windows.h
Linux 下为 --> unistd.h
注意:(1)Sleep是区分大小写的,有的编译器是大写,有的是小写。
(2)Sleep括号里的时间,在windows下是已毫秒为单位,而Linux是以秒为单位。
4. mciSendString() 函数在 VS 中的应用
添加源文件
#include<mmsystem.h>
#include<window.h>
加入库winmm.lib #pragma comment(lib,“winmm.lib”)
对于报错 无法将参数 1 从“char [100]”转换为“LPCWSTR”
解决办法 工程右键属性->常规->字符集->使用多字节字符集
-
构造函数——功能,完成对类中数据成员的初始化。
-
构造函数的函数名必须与类名相同
-
构造函数没有返回值
-
其功能是将对象中的所有数据成员进行初始化,一般由一
系列赋值语句构成 -
由系统在声明对象时自动调用
-
构造函数也可以重载
- 析构函数(Destructor)——在对象被撤销时(前)执行,用于完成对象被撤销前的一些清理工作
- 析构函数不得返回任何值
- 析构函数不得带有任何参数
- 由系统自动调用
- 其主要功能是在撤销对象之前进行一些善后处理工作
析构函数往往用于释放“资源”,如在构造函数中动态申请的内存空间,也可以被用来执行“用户希望在最后一次使用对象之后所执行的任何操作”,例如输出有关信息等
- this指针
每一个类的成员函数都包含一个指向本类对象的指针,指针名为this,该指针指向本类对象的起始地址。
作用:当类中数据成员名与成员函数中的形参名相同时,用this指针加以区分
一般在类中函数对类中声明参数进行操作时使用this指针来确保参数引用的正确,防止同名参数引起的错误。
void Fraction:: set(int a,int b)
{
this->a=a; //this->a表示Fraction类中的参数a
this->b=b;
}