刚刚学到 类和对象,这里代码不明白是什么意思?求大神指点

刚学到 类和对象,这里代码不明白是什么意思?求大神指点
书上的代码如下:


#ifndef STOCK00_H_
#define STOCK00_H_

# include <string>

class stock
{
private:
std::string company;
long shares;
double share_val;
double total_val;
void set_tot(){ total_val = shares * share_val; }
public:
void acquire (const std::string & co, long n, double pr);
void buy(long num, double price);
void sell(long num, double price);
void update(double price);
void show();
};

#endif


这里我不明白 private: 里的代码和 public : 里的代码是什么关系。
我现在只能 简单的理解为:
private : 里的代码 在 main() 里面是不能访问的。
public : 里的代码在 main() 里面是能访问的。

但是:

private 和 public 里的代码是什么关系??

如:
    std::string company;  和  void acquire (const std::string & co, long n, double pr); 等等 它们是不是一一对应的?? 它们是什么关系??  。
     std::string company; 如何 转变成 这个的 :void acquire (const std::string & co, long n, double pr); 

还有:

     void set_tot(){ total_val = shares * share_val; }  这句什么意思?它和 void show();  是什么关系??

。。。。

在 main() 函数 里面
   
   我应该怎么调用  public: 里面的代码??


---
本人新手问的问题如果太2,希望各位大神不要笑话。
------解决方案--------------------
你说的这几个东西没有半毛钱关系,它们不独立的,不能对应,也无法转换。好好看书吧
------解决方案--------------------
这个是访问控制的问题:
一个类有两种用户:类的实现者、类的使用者。而private和public是对于类的使用者来说的,比如说

stock s;  // 一个stock类的对象
s.show();  // 正确,可以直接调用public成员函数
cout << s.company;   // 错误,不能直接访问private成员

不能通过类的对象或指针访问private成员,但是可以访问public的成员。

所以private和public关键字只是对类的使用者(用户代码)来说的,而在类的内部,成员函数可以随意访问任何成员变量。