#include <iostream>
#include <assert.h>
class Example {
private:
int x, y;
bool initialize;
public:
Example() {
initialize = false;
};
void init(int _x, int _y) { // executed only once
assert(initialize == false);
x = _x;
y = _y;
initialize = true;
}
void show() {
std::cout << x << " " << y << "\n";
}
};
int main() {
Example obj;
obj.init(67, 128);
obj.show();
obj.init(90, 5); // void Example::init(int, int): Assertion `initialize == false' failed.
}
/*
run:
67 128
test.cpp:14: void Example::init(int, int): Assertion `initialize == false' failed.
Aborted
*/