You should simply include those variables outside of the constructor function as a global variable for the contract.
Take a look at a pretty simple to understand, and very commonly used ownable
contract:
https://github.com/OpenZeppelin/openzeppelin-solidity/blob/master/contracts/ownership/Ownable.sol
contract Ownable {
address public owner;
event OwnershipRenounced(address indexed previousOwner);
event OwnershipTransferred(
address indexed previousOwner,
address indexed newOwner
);
/**
* @dev The Ownable constructor sets the original `owner` of the contract to the sender
* account.
*/
constructor() public {
owner = msg.sender;
}
...
As you can see the address public owner
variable lives outside the constructor function, and instead just gets set (rather than declared) within the constructor.
Would this pattern work for your scenario, or is there some specific need to initialize the variable as a part of the constructor function?