Пишу
class my_class {
int x;
char y;
public:
my_class (int x, char y) { this->x = x; this->y = y; }
my_class (int x) { my_class(x, 'N'); }
^^ правильно или нет?????
void output(void) { printf("%d,%c\n",this->x,this->y); }
};
описываю my_class X(2); X.output() показывает мусор (должно быть 2 и N)
где баг?
>Пишу
>class my_class {
> int x;
> char y;
>public:
> my_class (int x, char y) { this->x = x; this->y = y; }
> my_class (int x) { my_class(x, 'N'); }
>
>
>
> ^^ правильно или нет?????
> void output(void) { printf("%d,%c\n",this->x,this->y); }
>};
>описываю my_class X(2); X.output() показывает мусор (должно быть 2 и N)
>где баг?
Не правильно.
Опиши все одним конструктором
my_class (int x, char y='N')
>Пишу
>class my_class {
> int x;
> char y;
>public:
> my_class (int x, char y) { this->x = x; this->y = y; }
> //my_class (int x) { my_class(x, 'N'); }
my_class (int x) { thix->x = x; this->y = 'N'; }
>
>
> ^^ правильно или нет?????
> void output(void) { printf("%d,%c\n",this->x,this->y); }
>};
>описываю my_class X(2); X.output() показывает мусор (должно быть 2 и N)
>где баг?
Пастойте!
А как же переопределить конструктор?
Хочу инициализировать по разному - то 2-мя переменными
то одной переменной и чтоб можно было вообще без переменных -
пусть по умолчанию значения присвоит!С функциями такое можно, почему нельзя с конструктором????
SergCh уже ответил:my_class (int x, char y='N') { ................... };
Как видишь, второй параметр необязателен - по-умолчанию в него ставится 'N'.
a-a-a!
точно!
Спасибо большое!