Computer instructions are roughly the same either way on the physical machine for similar C and C++ programs, but C++ offers a different way of organizing your data and methods. The computer, however, runs instructions one by one (for the most part) in programs, and does not concern itself with objects and the like. The computer just runs a sequence of instructions. C, however, is more closely based off of the linear organization and execution path that an actual computer follows. The underlying computer does handle functions and memory addresses and data types. The underlying computer does not have class/object manipulation instructions or private/public this and that.
And the private/public nature of fields and functions has zero impact on the instruction stream the CPU sees, they are just a human abstraction, so what is your point again?
More importantly why is that abstraction 'bad' yet structures, which a CPU has no concept of either, fine?
Also CPUs don't "handle functions"; they have jump instructions but the whole 'function call' concept is, again, a human abstraction. A CPU has no more idea about a calling convention or a flow than a hamster does.
It sees a stream of instructions; coming from C or C++ makes zero difference in the grand scheme of things.