Who teaches the classes when you are homeschooled?

It depends on what approach you are using for homeschool.

Some people use a virtual or online learning program, some with real teachers, some just computer program based.

Others are taught by their parents or guardian.

Some homeschooled kids are self taught, which is unschooling.

Some use an umbrella school and either go online or in person to classes taught by a teacher.