Added this code and it works

fido.~Dog();
rover.~Dog();

So it now looks like:

Code:
#include <iostream>
using namespace std;

class Dog {
private:
    int age;
    int weight;
public:
    Dog();      //Constructor
    ~Dog();    //Destructor
    void setAge(int age);
    int getAge();
    void setWeight(int weight);
    int getWeight();
    void speak();
};

Dog::Dog()
{
    age = 0;
    weight = 0;
    cout << "Dog Constructor Called" << endl;
}

Dog::~Dog()
{
    cout << "Dog Destructor Called" << endl;
}

void Dog::setAge(int age)
{
    this->age = age;
}

int Dog::getAge()
{
    return age;
}

void Dog::setWeight(int weight)
{
    this->weight = weight;
}

int Dog::getWeight()
{
    return weight;
}

void Dog::speak()
{
    cout << "BARK!!" << endl;
}

int main()
{
    Dog fido;
    Dog rover;

    cout << "Rover is " << rover.getAge() << " years old." << endl;
    cout << "He weighs " << rover.getWeight() << " lbs." << endl;
    cout << endl;

    cout << "Updating Rover's Age and Weight" << endl;
    rover.setAge(1);
    rover.setWeight(10);

    cout << "Rover is " << rover.getAge() << " years old." << endl;
    cout << "He weighs " << rover.getWeight() << " lbs." << endl;
    cout << endl;

    cout << "Fido is " << fido.getAge() << " years old." << endl;
    cout << "He weighs " << fido.getWeight() << " lbs." << endl;

    cout << "Setting Fido to be the same as Rover" << endl;
    fido = rover;

    cout << "Fido is " << fido.getAge() << " years old." << endl;
    cout << "He weighs " << fido.getWeight() << " lbs." << endl;

    rover.speak();
    fido.speak();
    fido.~Dog();
    rover.~Dog();
    
    cin.get();

    return 0;
}