#include<sys/types.h>
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<string.h>
class A
{
int a_;
public:
virtual ~A(){ }
A():
a_(0)
{
}
virtual int Val()const{return a_; }
virtual A& operator =(const A& a);
virtual A& operator =(int A);
};
A& A::operator =(const A& a)
{
a_=a.Val();
return *this;
}
A& A::operator =(int A)
{
a_=A;
return *this;
}
class B: public A
{
public:
B():
A()
{
}
};
int main()
{
B b;
b=200;
printf("%d\n",b.Val());
return 0;
}
результат:
a.cpp: In function ‘int main()’:
a.cpp:55: error: no match for ‘operator=’ in ‘b = 200’
a.cpp:43: note: candidates are: B& B::operator=(const B&)
make: *** [a] Error 1
Ответ на:
комментарий
от Legioner
Ответ на:
комментарий
от cathode
Ответ на:
комментарий
от Legioner
Ответ на:
комментарий
от Legioner
Ответ на:
комментарий
от dilmah
Ответ на:
комментарий
от teferiincub
Ответ на:
комментарий
от dmitry-vm
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум non-blocking write (2011)
- Форум вопрос про float (2006)
- Форум перегрузка виртуальных функций. (2015)
- Форум Обьясните суть происходящего при добавлении в stdout «\n» (2014)
- Форум Function template with a template argument. (2013)
- Форум как включить поддержку больших файлов? (2008)
- Форум почему так? (2014)
- Форум Как заставить работать exceptions (2005)
- Форум BROADCAST sendto вызывает Permission denied (2004)
- Форум C++ и приведение типов (2012)