Результаты поиска по запросу "operator-overloading"

7 ответов

Определить оператор ** в C ++

Как я могу определить оператор** такой, что он может выполнять возведение в степень 2 чисел. например2 ** 3, Это должно дать ответ как 8. Или косвенно есть ли способ сделать это с перегрузкой оператора вместо#define макросы?

2 ответа

Я отредактировал его, чтобы сделать акцент на методе, если он недостаточно ясен, ура.

ссылочный тип не перегружает оператор равенства==, затем встроенный оператор равенства наObject будет использоваться вместо Почему то же самое не верно для пользовательскихstructs: struct A{ } static void Main(string[] args) { A a = new A(); A ...

6 ответов

 напрямую?)

я могу наследовать от логического? (Или сделать мой класс сопоставимым с логическим с помощью оператора =) class MyClass : Boolean { public MyClass() { this = true; } } class Program { public Program() { MyClass myClass = new MyClass(); ...

ТОП публикаций

12 ответов

 ключевое слово:

ыло интересно, почему я не могу перегрузить '=' в C #? Могу ли я получить лучшее объяснение?

4 ответа

http://bulbflow.com/quickstart/#models

ы можете эмулировать перегрузку оператора присваивания в Python? Например... class Example(object): name = String() age = Integer() def __init__(self,myname,myage): self.name.value = myname self.age.value = myage Вместо того, чтобы делать ...

3 ответа

Да, это действительно int как параметр, это всего лишь параметр применения политики, позволяющий различать префиксные и постфиксные операторы. Переданный параметр будет получен в качестве аргумента, который представляет собой поведение, которое вы видите, и это точно определенное поведение.

использую этот код в любой производственной среде, это просто для моего понимания. Является ли этот код действительным (т.е. я могу определить свой постфиксный оператор следующим образом?): class A { public: A& operator++(int n) { std::cout<<"N ...

3 ответа

Оператор перегрузки << для вложенного шаблона класса

У меня есть следующие настройки: template< class T > struct Foo { struct Bar { Bar ( const T &t ) : otherT_( t ) {} T otherT_; }; Foo ( const T &t ) : myT_( t ) {} T myT_; };Теперь я хочу сделать примерыFoo< T >::Bar пригодный для std :: cout и ...

3 ответа

Вы можете перегружать операторы для пользовательских типов данных, т.е. классов. Int является примитивным типом данных, а операторы для примитивных типов реализуются самим компилятором, в основном это просто простая инструкция CPU для добавления int и т. Д.

ерегруженные операторы <<, >>, = и т. Д. Используются много раз. Пример, о котором я думал, - это когда мы добавляем строки: string name = string ("munish") + "kumar"; оператор + перегружен в строковом классе. но когда мы добавляем числа, ...

3 ответа

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

оторых книгах и часто в Интернете я вижу такие рекомендации, как "operator== должен быть объявлен как друг ". Как я должен понимать, когда оператор должен быть объявлен как друг, и когда он должен быть объявлен как член? Какие операторы чаще ...

2 ответа

Я называю это оператором "стрелка".

я есть класс смарт-указателя, и я хочу перегрузитьoperator->; это предусмотрено для удобства, поэтому я могу получить доступ к членам класса, содержащимся внутри интеллектуального указателя напрямую. Я смотрел на то, как Boost реализует этот ...