Форум программистов, компьютерный форум 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
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
08.09.2013, 14:08     Конструктор, принимающий в качестве аргумента ссылку на объект, всё портит
Друзья! Вот корректный код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class foo
{
public:
                foo()
                    { 
                    }
                foo(int x)
                    { 
                    }
                ~foo(){}
};
 
 
//+++++++++++++++++++++++++++++++++++++
 
int main()
{
    foo c2 = foo (9);
}
А вот некорректный:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class foo
{
public:
                foo()
                    { 
                    }
                foo(int x)
                    { 
                    }
                foo(foo& f)
                    { 
                    }
                ~foo(){}
};
 
 
//+++++++++++++++++++++++++++++++++++++
 
int main()
{
    foo c2 = foo (9);
}
Ошибки,

Bash
1
2
3
4
5
6
7
8
9
10
main_p.cpp: In function 'int main()':
main_p.cpp:21:20: error: no matching function for call to 'foo::foo(foo)'
main_p.cpp:21:20: note: candidates are:
main_p.cpp:10:17: note: foo::foo(foo&)
main_p.cpp:10:17: note:   no known conversion for argument 1 from 'foo' to 'foo&'
main_p.cpp:7:17: note: foo::foo(int)
main_p.cpp:7:17: note:   no known conversion for argument 1 from 'foo' to 'int'
main_p.cpp:4:17: note: foo::foo()
main_p.cpp:4:17: note:   candidate expects 0 arguments, 1 provided
Выполнение завершено
первая же из которых вводит в ступор. У меня нет вызова foo::foo(foo)! Если бы он был, то первый код не скомпилился бы. В общем, непонятно, почему foo(foo& f) всё портит во втором коде, хотелось бы разъяснений, тык скыть. Спасибо, кто откликнется.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 03:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru