本篇讲述class与struct的区别与用法

命名常识

struct与class的区别

C++中的struct对C中的struct进行了扩充,它已经不再只是一个包含不同数据类型的数据结构了,它已经获取了太多的功能。

struct能包含成员函数吗? 能!

struct能继承吗? 能!!

struct能实现多态吗? 能!!!

1)默认的继承访问权限。struct是public的,class是private的。

2)struct作为数据结构的实现体,它默认的数据访问控制是public的,而class作为对象的实现体,它默认的成员变量访问控制是private的。

coutpu()函数,该函数显示一个字符

decltype类似于typedef,但是typedef加类型,decltype加变量

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int n = 0;
decltype(n) n2;//n2是int类型

typedef int INT;
INT n3;//n3也是int类型

typedef void(*pfun)();
//类外声明
auto add(int a,int b)
{
return a+b;
}

itn (*p)(int ,int) = add;
using PFUN = void (*)();

typedef 重定义类型时不能用于vector

此时就需要using

1
2
3
4
typedef vector<int> int_vec;//此时就会报错

using int_vec = vector<int>;