В классе написаное следующее:
class IntB
{
public:
IntB (unsigned n) : buffer(new int[n]), int_my(0){ }
//
....
Зачем это надо?
Почему бы не написать:
class IntB
{
public:
IntB (unsigned n)
{
buffer = new int[n];
int_my=0;
}
//
...
Thanx!
Здравствуйте, Nickola999, Вы писали:
N>В классе написаное следующее:
N>N>class IntB
N>{
N> public:
N> IntB (unsigned n) : buffer(new int[n]), int_my(0){ }
N>//
N>....
N>
N>Зачем это надо?
N>Почему бы не написать:
N>N>class IntB
N>{
N> public:
N> IntB (unsigned n)
N> {
N> buffer = new int[n];
N> int_my=0;
N> }
N>//
N>...
N>
N>Thanx!
Эти куски кода абсолютно идентичны. Просто иногда инициализацию переменных в конструкторе пишут через двоеточие, иногда в теле метода. Как кому нравится.
... << RSDN@Home 1.1 beta 2 >>
Здравствуйте, Nickola999, Вы писали:
N>В классе написаное следующее:
N>N>class IntB
N>{
N> public:
N> IntB (unsigned n) : buffer(new int[n]), int_my(0){ }
N>//
N>....
N>
Здесь мы сразу создаем инициализированные объекты.
N>Зачем это надо?
N>Почему бы не написать:
N>N>class IntB
N>{
N> public:
N> IntB (unsigned n)
N> {
N> buffer = new int[n];
N> int_my=0;
N> }
N>//
N>...
N>
А здесь сначала создаем объекты со значением по умолчанию, затем присваиваем им значения.
N>Thanx!
See ya...
... << RSDN@Home 1.1 beta 2 >>
Здравствуйте, HeaveN, Вы писали:
HN>Здравствуйте, Nickola999, Вы писали:
N>>В классе написаное следующее:
N>>N>>class IntB
N>>{
N>> public:
N>> IntB (unsigned n) : buffer(new int[n]), int_my(0){ }
N>>//
N>>....
N>>
N>>Зачем это надо?
N>>Почему бы не написать:
N>>N>>class IntB
N>>{
N>> public:
N>> IntB (unsigned n)
N>> {
N>> buffer = new int[n];
N>> int_my=0;
N>> }
N>>//
N>>...
N>>
N>>Thanx!
HN>Эти куски кода абсолютно идентичны. Просто иногда инициализацию переменных в конструкторе пишут через двоеточие, иногда в теле метода. Как кому нравится.
... а иногда и просто нет выбора, например, если переменные-члены имеют тип "ссылка"