In Class1.cpp line 13, you should just use number or this->number. Corge.number doesn't make sense because Corge is not an object, it's a type.
In class2.cpp, if you want to use an array you should pass the size of the array as an additional parameter than use a for loop to go through each of the elements individually. I would just recommend using one of the standard containers though.
void changeAll(Corge waldo); //This function is supposed to take a waldo object as argument.
for(int i = 0; i < 10; i++)
text = "Name";
number = 1;
std::cout << "Change number to: ";
std::cin >> Corge.number;
void Grault::changeAll(Corge waldo)