Реализация оператора == при использовании наследованияC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Реализация оператора == при использовании наследования

Сообщение Anonymous »

У меня есть базовый класс, реализующий оператор ==.
Я хочу написать другой класс, наследующий базовый класс, который должен переопределить оператор ==.

Вот пример кода:

Код: Выделить всё

#include 
#include 

class Person
{
public:
Person(std::string Name) { m_Name = Name; };

bool operator==(const Person& rPerson)
{
return m_Name == rPerson.m_Name;
}

private:
std::string m_Name;
};

class Employee : public Person
{
public:
Employee(std::string Name, int Id) : Person(Name) { m_Id = Id; };

bool operator==(const Employee& rEmployee)
{

return (Person::operator==(rEmployee)) && (m_Id == rEmployee.m_Id);
}

private:
int m_Id;
};

void main()
{
Employee* pEmployee1 = new Employee("Foo" , 1);
Employee* pEmployee2 = new Employee("Foo" , 2);

if (*pEmployee1 == *pEmployee2)
{
std::cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/565765/implementing-operator-when-using-inheritance[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»