在开始之前,我必须警告大家我刚刚开始使用c中的类和继承 . 目前我正在开发一个可以获得多种形状区域的程序 . 要做到这一点,作业要求我创建一个抽象的基础案例,其中包括虚拟,它还包括一个getarea函数,所以我可以在主程序中显示该区域 . 对于获取形状的各种方法的派生类,这是一个类如何工作的示例

class triangle : public BasicShapes{
     private:
            long base;
            long height;
            double areat;
     public:
          tringle(long b, long h){
             base=b;
             height=h;
             calcarea();
          }
          long getbase() const{
              return base;
          }
          long getheight() const{
              return height;
          }
          //this is the virtual function being used
          virtual void calcarea(){
              areat=.5(base*height);
              setarea(areat);
           }
   }

我的问题是在书中所有他们想要我在抽象基类中添加的是一个私有的双变量区域,以及一个公共函数来获取该区域 . 我在基类中添加了大部分访问函数 setarea ,因此我可以更改基本形状类中私有变量的内容 . 我想知道是否有办法在不使用任何类型的访问器功能的情况下执行此操作,或者我的思路是正确的 . 也让人们知道程序的主要部分是如何工作的我输入的变量将进入对象的构造函数,然后将显示区域的计算以及基础和高度或我试图找到的区域的任何形状当时 .