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