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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
nazavrik
22 / 22 / 2
Регистрация: 17.09.2008
Сообщений: 130
#1

В конструктор класса передать объект этого класса - C++

14.02.2010, 00:39. Просмотров 876. Ответов 1
Метки нет (Все метки)

Вопрос на засыпку

Как в конструктор класса передать объект этого класса? Т.е.
C++
1
2
3
4
5
6
7
8
9
10
11
class A
{
public:
        A(const char* s){}
        ...
private:
        string str;
};
 
A a1("test");
A a2(a1); //для этого случая нужно предусмотреть конструктор
Добавлено через 18 минут
Вопрос решен. Необходимо объявить конструктор:
C++
1
2
3
4
5
6
7
8
9
class A
{
public:
        A(const char* s){}
        A(A &s){} // <---
        ...
private:
        string str;
};
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.02.2010, 00:39
Здравствуйте! Я подобрал для вас темы с ответами на вопрос В конструктор класса передать объект этого класса (C++):

Создать объект внутри класса, который может вызывать функцию этого класса - C++
Ребята помогите уже несколько дней мучаюсь. Хочу сделать программу в консоле демонстрации работы лифта в здании 2 этажа. Сделал класс...

Создание статической функции класса, которая принимает экземпляр этого же класса как объект - C++
Привет. Есть такой код class Model { public: Model(); Model(int verticesSize, int facesSize); ~Model(); static void...

Индексация массива класса, через объект этого класса - C++
class A{ char c;//? - размер массива public: A(int C){c;} }; int main(){ A a(5);//вносим размер массива getch(); ...

Статический указатель класса на объект этого же класса - C++
Не пойму: что в этом коде не так? #include &lt;iostream&gt; #include &lt;cstdlib&gt; using namespace std; struct A { int x; ...

Как корректно передать в метод шаблонного класса объект шаблонного класса в качестве параметра? - C++
header.h template &lt;class T&gt; class MyVector { public: void swap(MyVector&lt;T&gt;Vector); } template &lt;class T&gt; void...

В конструкторе вложенного класса инициализируется приватное поле. Потом вызывается функция-метод этого класса и выводит значение этого поля НО НЕ ТО! - C++
Друзья! Почему так? #include &lt;windows.h&gt; #include &lt;iostream&gt; using namespace std; //Вот главный класс class A{ ...

1
insideone
Модератор
Автор FAQ
3642 / 921 / 50
Регистрация: 10.01.2010
Сообщений: 2,477
14.02.2010, 01:16 #2
да, это вроде даже не простой констуктор, а конструктор копирования
C++
1
A ObjA = ObjC; // вызов A(A &s)
кстати напишите лучше A(const A &s)... по логике вы же считываете делая копию с того с чего конструируете, поэтому этот объект изменять не надо. пусть будет const

И не забудьте написать operator=(const A &s), а то я сегодня из за этого пол дня дебажил >_< копировалось по стандартному и 2 объекта моего класса указывали на одни и те же данные которые потом освобождались в 1 а во втором уже была попытка повторного освобождения. при этом я был полностью что operator= написан и искал ошибку в другом ну как всегда в общем
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.02.2010, 01:16
Привет! Вот еще темы с ответами:

Передать argc, argv в конструктор класса - C++
Добрый день! Решил я отказаться от getopt и написать разбор аргументов сам. Код получился примерно такой (выкинув &quot;лишнее&quot;). ...

Конструктор класса не видит конструктор по умолчанию другого класса - C++
Ошибка, естественно, в Classes.cpp, в строке 20. Ругается, что у класса TailNode нет конструктора по умолчанию, хотя он там, конечно, есть....

Как передавать значения строкового типа в конструктор через объект класса? - C++
Как передавать значения строкового типа в конструктор через объект класса? Или просто, как передавать знач строкового типа в конструктор? ...

C++ Как в многопоточность передать объект класса? - C++
Доброго времени суток! Подскажите пожалуйста одну вещь, у меня есть функция внутри класса и мне нужно передать её в мультипоточность. Вот...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru