How to interact with other smart contracts from certain smart contract?

I have NFT smart contract and when NFT smart contract receives CCD then NFT smart contract should call wCCD function to mint wCCD and this wCCD will be send to NFT smart contract. So, can be my NFT smart contract to be msg.sender of wCCD contract?

You mean the minted wCCD will be owned by the NFT contract? That is fine, and the NFT contract can wrap CCD. It just needs to call the wrap function of the wCCD.

Can you send me an example of code of calling method of other smart contract?

You use the invoke_contract method, see HasHost in concordium_std - Rust

Many examples in our examples directory make use of this functionality. For example