- •Void Putdec(int d);
- •Int Numberdec();
- •Int dec;
- •Void Init (int m,int s);
- •1. В базовом и производном классе нет конструкторов.
- •2. В базовом классе создан конструктор без параметров, в производном конструктор отсутствует.
- •3. В базовом классе конструктор отсутстивует, в производном создан без параметров
- •4. В базовом и производном классах есть конструкторы без параметров.
- •5. В базовом есть конструктор без параметров, в производном с параметрами.
- •6. Если в базовом классе есть конструктор с параметрами, в производном классе должен быть с параметрами и базовый конструктор должен быть явно вызван.
- •Icalculate.Cs
4. В базовом и производном классах есть конструкторы без параметров.
C++
class Record
{
private:
int min,sec;
public:
Record();
.........
};
Record::Record() // конструктор базового класса
{
min=5;
sec=4;
}
class Sprint : public Record
{
private:
int dec;
public:
Sprint();
........
};
Sprint::Sprint() // конструктор производного класса
{
// sec не определяется !
min=3;
dec=2;
}
int main(int argc, char* argv[])
{
Record x; // min=5 sec=4
Sprintz;// min=3 dec=2 sec=4 – вызов сначала базового конструктора,
// затем производного
}
Java
class Record
{
protected int min,sec;
public Record() // конструктор базового класса
{
min=5;
sec=4;
}
}
class Sprint extends Record
{
private int dec;
public Sprint() // конструктор производного класса
{
min=3;
dec=2;
}
}
public class WorkSport
{
public static void main (String args[] )
{
Record a=new Record(); // min=5,sec=4
Sprint b=new Sprint(); // min=3 dec=2 sec=4 - вызов сначала базового конструктора,
// потом производного
}
}
C#
class Record
{
private int min,sec;
public Record() // конструктор базового класса
{
min=5;
sec=4;
}
.........
};
class Sprint : public Record
{
private int dec;
public Sprint() // конструктор производного класса
{
min=3;
dec=2;
}
.......
};
static void Main(string[] args)
{
Record x = new Record(); // min=5 sec=4
Sprintz=newSprint();// min=3 dec=2 sec=4 – вызов базового конструктора,
// затем производного
}
5. В базовом есть конструктор без параметров, в производном с параметрами.
C++
class Record
{
private:
int min,sec;
public:
Record();
.........
};
Record::Record() // конструктор без параметров
{
min=1;
sec=2;
}
class Sprint : public Record
{
private:
int dec;
public:
Sprint(int d);
........
};
Sprint::Sprint(intd)// конструктор с параметром
{
// задан только dec
dec=d;
}
int main(int argc, char* argv[])
{
Recordx; //min=1sec=2
Sprintz(5);// min=1 sec=2 dec=5 // сначала вызывается конструктор базового класса,
// потом производного
}
Java
class Record
{
protected int min,sec;
public Record()
{
min=1;
sec=2;
}
}
class Sprint extends Record
{
private int dec;
public Sprint(int d)
{
dec=d;
}
}
public class WorkSport
{
public static void main (String args[] )
{
Record a=new Record(); // min=1,sec=2
Sprint b=new Sprint(5); // min=1,sec=2,dec=5
}
}
C#
class Record
{
private int min,sec;
public Record() // конструктор без параметров
{
min=1;
sec=2;
}
.........
};
class Sprint : public Record
{
private int dec;
public Sprint(intd)// конструктор с параметром
{
dec=d;
}
........
};
static void Main(string[] args)
{
Record x = new Record(); // min=1 sec=2
Sprintz=newSprint(5);// min=1 sec=2 dec=5 // сначала вызывается конструктор
// базового класса, потом производного