struct,内部初始化变量时,不能用()。
struct data {
int x = 12;
float f = 122.5f;
int *pi = &x;
};
data da;
cout << da.f << endl;
data *dap = new data;//使用*的话需要初始化
cout << dap->f << endl;
cout << *dap->pi << endl;
class和struct的区别
class的成员默认是私有的,struct的成员默认不是私有的
//头文件
头文件解决冲突
#pragma once 为了避免同一个头文件被包含(include)多次。
C/C++中有两种宏实现方式:一种是#ifndef方式;另一种是#pragma once方式
#ifndef的方式依赖于宏名字不能冲突。
#pragma once则由编译器提供保证:同一个文件不会被包含多次。注意这里所说的“同一个文件”是指物理上的一个文件,而不是指内容相同的两个文件。
//预处理器
#ifdef ZHIDINGYI_H//当且仅当变量已定义时为真
#ifndef ZHIDINGYI_H//当且仅当变量未定义时为真
#endif //终止指令
#define ZHIDINGYI_H//把一个名字设定为预处理变量