void queue::qput(int i)
{
if(sloc==100) {
cout << "Очередь заполнена.\n";
return;
}
sloc++;
q[sloc] = i;
}
// Извлечение из очереди целочисленного значения.
int queue::qget()
{
if(rloc == sloc) {
cout << "Очередь пуста.\n";
return 0;
}
rloc++;
return q[rloc];
}
int main()
{
queue a(1), b(2); // Создание двух объектов класса queue.
a.qput(10);
b.qput(19);
a.qput(20);
return 0;
}
При выполнении эта версия программы генерирует такие результаты:
Очередь 1 инициализирована.
Очередь 2 инициализирована.
10 20 19 1
Очередь 2 разрушена.
Очередь 1 разрушена.
Как видно из кода функции main(), очереди, связанной с именем
Несмотря на то что в примере с использованием класса
#include
using namespace std;
class widget {
int i;
int j;
public:
widget(int a, int b);
void put_widget();
};
// Передаем 2 аргумента конструктору widget().
widget::widget(int a, int b)
{
i = a; j = b;
}
void widget::put_widget()
{
cout << i << " " << j << "\n";
}
int main()
{
widget x(10, 20), y(0, 0);
x.put_widget();
у.put_widget();
return 0;
}
Важно!
При выполнении эта программа отображает следующие результаты.
10 20
0 0
Если конструктор принимает только один параметр, можно использовать альтернативный способ инициализации членов объекта. Рассмотрим следующую программу.
#include
using namespace std;
class myclass {
int a;
public:
myclass(int x);
int get_a();
};
myclass::myclass(int x)
{
a = x;
}
int myclass::get_a()
{
return a;
}
int main()
{
myclass ob = 4; // вызов функции myclass(4)
cout << ob.get_a();
return 0;
}
Здесь конструктор для объектов класса
myclass ob = 4;
В этой форме инициализации объекта число
myclass ob = myclass(4);
В общем случае, если у вас есть конструктор, который принимает только один аргумент, для инициализации объекта вы можете использовать либо вариант
Помните, что показанный здесь альтернативный способ инициализации объектов применяется только к конструкторам, которые имеют только один параметр.