Форум программистов, компьютерный форум CyberForum.ru

Конструктор, принимающий в качестве аргумента ссылку на объект, всё портит - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Класс Book http://www.cyberforum.ru/cpp-beginners/thread950190.html
Подскажите, как добавить в список книг ещё одну книгу? Я думаю функцию больше не надо писать, можно в case засунуть. Я немного запутался. #include <iostream.h> #include <stdio.h> #include <conio.h> #include <string.h> class Book { char Avtor ; char Nazvanie ;
C++ Шестнадцатеричные буквы Скажите, пожалуйста, как в Windows Forms на Visual C++ сделать так, чтобы при вводе в textBox он распознавал буквы шестнадцатеричной системы счисления, как цифры? Есть переменная number, которая хранит само число, я делаю так: unsigned long long number=System::Convert::ToDouble(numb->Text); http://www.cyberforum.ru/cpp-beginners/thread950183.html
Многофайловой проект и STL C++
Надо написать программу, в которой будут использоваться контейнеры STL(пока написал список). И для каждого контейнера будет свой файл в проекте. Сначала все писал в один файл. Для списка сделал все что требовало задание. Я попробовал свой класс(написал свой класс, в нем есть поле - СТЛовский список) запихнуть в отдельные .h и .cpp файлы. Я раньше делал программу таким способом и она работала,...
Абстрактный класс и std::sort C++
Добрый день, Не компилируется строка: std::vector<mtl::io::QtFile*> *vec; ... mtl::misc::Sort(vec); // ЭТА СТРОКА Компилятор (g++ 4.7.3 Ubuntu) выдает: error: cannot convert ‘std::vector<mtl::io::QtFile*>*’ to ‘std::vector<mtl::misc::Sortable*>*’ for argument ‘1’ to ‘void mtl::misc::Sort(std::vector<mtl::misc::Sortable*>*)’
C++ масив структур http://www.cyberforum.ru/cpp-beginners/thread950167.html
Создать масив структур, каждая с которых состоит с селементов: факультет, курс, група, фамилии студентов, оценки, стипендия. Определить: 1) фамилии студентов со степухой и их средний бал. 2)факультет, где на первом курсе наименее двоишников. 3)курс с наибольшим количеством отличников. Помогите сделать програму. Только недавно начал учить С++, но еще не успел усвоить даную тему, а мой препод...
C++ Работа конструкторов в классе и дружественная функция Есть програмка с классом Meal. К ней я так же написал дружественную функцию с вычитанием калорийности объектов от общей калорийности, но расчеты получаются не правильными. Вот сам текст класса: #include <iostream> #include <conio.h> using namespace std; class Meal{ private: double Carrot; double Kap; double Meat; подробнее

Показать сообщение отдельно
kravam
быдлокодер
 Аватар для kravam
1513 / 873 / 44
Регистрация: 04.06.2008
Сообщений: 5,265
10.09.2013, 21:56  [ТС]     Конструктор, принимающий в качестве аргумента ссылку на объект, всё портит
Многие вопросы я уже выяснил. Но один, очень важный не выяснил, а именно: каков код, в котором использовался бы конструктор который не const?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
 
class foo
{
public:
    foo(int x) {}
    foo(const foo& f) {printf ("KK\n");
}
};
 
int main()
{
    foo c2 = foo (9);
    getchar ();
}
компилим с опцией
Bash
1
-fno-elide-constructors
, дабы компилятор не вздумал не создавать временные объекты. Так, а теперь хотелось бы увидеть аналогичный работоспособный код с конструктором, который
C++
1
foo(foo& f)
(он же верен!) То есть чтобы также, была одна из ситуаций, при которой вызывается КК, (а их напомню, 3, описанных в книге:

1) Когда возвращаемое значение функции имеет тип класса
2) Когда аргумент имеет тип класса
3) Когда один объект используется для инициализаци другого объекта)


Ну и чтобы вызвался
C++
1
foo(foo& f)
. Всё. Вся просьба.
 
Текущее время: 02:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru