Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.05.2010, 19:47   #1
Superlotles
Пользователь
 
Аватар для Superlotles
 
Регистрация: 18.08.2009
Сообщений: 86
По умолчанию Создание конструктора

Дополните код чтоб был конструктор копирования а то я не понимаю как он работает

Код:
#include "stdafx.h"
#include <conio.h>
using namespace std;
class Fraction{
public:
        Fraction(Fraction cont& object){ // конструктор копирования
        }
Fraction add(Fraction other){
                Fraction fract;
                return fract;
};
int main(){
        Fraction fract1,fract2,fract3;
                fract3=fract1.add(fract2); // Здесь 3 раза вызывается конструктор копирования
Skype: Lotles-XXXX
Superlotles вне форума Ответить с цитированием
Старый 22.05.2010, 19:58   #2
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

А я вообще не понимаю, Как он может работать...
Было б тут вообще к чему добавлять...
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 22.05.2010, 20:06   #3
Superlotles
Пользователь
 
Аватар для Superlotles
 
Регистрация: 18.08.2009
Сообщений: 86
По умолчанию

Напишите элементарный конструктор копирования, а дальше сам разберусь как работает, а то пишут книги код на 2 страницы и разбирайся
Skype: Lotles-XXXX
Superlotles вне форума Ответить с цитированием
Старый 22.05.2010, 21:16   #4
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Вот такой вот может быть конструктор копирования у простенького класса:
Код:
class Info
 {
 public:
 Info();
 Info(const Info& inf);
 private:
 int N;
 int* array;
 };
Info::Info():
 N(10)
 {
 array = new int[N];
 for (int i = 0; i < N; i++)
  array[i] = 0;
 }
Info::Info(const Info& inf):
 N(inf.N)
 {
 for (int i = 0; i < N; i++)
  array[i] = inf.array[i];
 }
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 23.05.2010, 01:21   #5
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

Цитата:
Сообщение от Гром Посмотреть сообщение
Вот такой вот может быть конструктор копирования у простенького класса
Не может. Память кто под массив выделять будет???
Carbon вне форума Ответить с цитированием
Старый 23.05.2010, 01:38   #6
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Цитата:
Не может. Память кто под массив выделять будет???
Тьфу, склероз!! Конечно,
Код:
Info::Info(const Info& inf):
 N(inf.N)
 {
 array = new int[N];
 for (int i = 0; i < N; i++)
  array[i] = inf.array[i];
 }
Вы совершенно правы!
И ведь главное - помнил об этом, когда писал... Да и подобные конструкторы копирования совсем недавно писал ни по одному... Склероз, склероз...
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос про new и вызов конструктора Gtx541 Общие вопросы C/C++ 5 20.05.2010 12:18
Параметр конструктора Voody Компоненты Delphi 6 14.12.2009 19:52
Перегрузка конструктора Spice Общие вопросы C/C++ 3 20.07.2009 14:37
Переопределение конструктора формы daunito Общие вопросы Delphi 5 23.11.2008 01:58