#include <iostream>

class Broken {
public:
    Broken(int i): read_only(read_write), read_write(i) {}

    int const& read_only;

    void set(int i) { read_write = i; }
    
private:
    int read_write;
};

int main() {
	Broken original(5);
	Broken copy(4);
	copy = original;
	
	std::cout << copy.read_only << "\n";
	
	original.set(42);
	
	std::cout << copy.read_only << "\n";
	return 0;
}