Примерни въпроси за теста на Държавния изпит

Въпрос 7

В дефиницията на класа CIRCLE, описващ един кръг, са декларирани следните лични данни:

class CIRCLE
{
   float r;       // радиуса
   float P;       //обиколката
   float S;       //лицето
   static float Pi;
};
float CIRCLE::Pi=3.14;

Добавете следните конструктори:
    - без параметри, в който се нулират всички лични данни (без Pi);
    - с 1 параметър, в който се подава радиуса и се нулират всички останали лични данни (без Pi).

Решение

class CIRCLE
{
   float r;       // радиуса
   float P;       //обиколката
   float S;       //лицето
   static float Pi;

public:
CIRCLE()
{
   r=0;
   P=0;
   S=0;
}

CIRCLE(float aR)
{
   r=aR;
   P=0;
   S=0;
}
};
float CIRCLE::Pi=3.14;


Към класа CIRCLE добавете следните методи:
   - метод, който изчислява дължината на окръжността (P=2.п.r);
   - метод, който изчислява лицето на кръга (S= п.r2).

Решение

class CIRCLE
{
   float r;       // радиуса
   float P;       //обиколката
   float S;       //лицето
   static float Pi;

public:
. . .
   void Perimeter()
   {
       P=2*Pi*r;
   }

   void Square()
   {
      S=2*r*r;
   }
};
float CIRCLE::Pi=3.14;


Дефинирайте обект A с радиус 5 см и указател pX към обект от тип CIRCLE с радиус 10 см. Напишете код, чрез който извиквате методите за изчисляване на обиколката и лицето чрез A и чрез указателя pX.

Решение

CIRCLE A(5);
CIRCLE pX=new CIRCLE(10);

A.Perimeter();
A.Square();

pX->Perimeter();
pX->Square();


Даден е базовият клас Color, който описва цветове. Декларирайте клас Shape, който наследява с публичен достъп класа CIRCLE и класа Color.

Решение

class Shape:public CIRCLE, public Color

{ . . . }