(自学C++面向)我在B类引用A类,并在B类定义了A sum;请问这样作用是什么?怎么用?

#pragma once
class A
{
public:
    A();
    ~A();
};


#pragma once
#include "A.h"
class B
{
public:
    A sum;
    A *a;
public:
    B();
    ~B();
};

请问这里的
A sum;
A *a;有什么作用?怎么用?谢谢

A sum;//创建类型A的对象,对象名称为sum,作为类型B的成员变量;
A *a;//声明了静态类型为A *的指针;(因为你还没new,不能确定动态类型)

A sum;//只包含A的?

A *a;//区分大小写?