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

Почему допустимо создавать объект по другому объекту, но нельзя присваивать уже созданный объект, другому созданному объекту? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ ввод двумерного массива,ввод размерности массива,заполнение массива случайными числами http://www.cyberforum.ru/cpp-beginners/thread765066.html
#include "stdafx.h" #include "locale.h" #include "stdlib.h" #include "math.h" void main() { setlocale(LC_ALL,"rus"); int n,e,m,f,k,i; printf("Введите размерность матрицы \nнижнюю границу диапозона и верхнюю границу диапозона\n"); if ((scanf("%d\n%d\n%d\n%d",&n,&m,&e,&f) == 4) && (n>0) && (m>0)) {
C++ Вычислить произведение элементов в столбцах с нечетным номером; удалить второй элемент первой строки Рябят выручайте!!! Помогите пожалуйста составить программу, в которой 1) организовать ввод квадратной матрицы размера nxn из целых чисел; 2) вычислить произведение элементов, которые стоят в столбцах с нечетным номером; 3) удалить второй элемент первой строки и вставить заданное число в начало этой же строки; 4) организовать ввод и вывод матрицы в виде отдельных функций. http://www.cyberforum.ru/cpp-beginners/thread765063.html
C++ Не знаю как правильно передать указатель
В общем для начала приложу код ( не пугайтесь , что придется много читать , из этого кода изучить нужно лишь 2 функции и данные структуры ) : #include <iostream> #include <fstream> #include <cstdio> #include <cstdlib> #include <algorithm> #include <bitset> #include <set> #include <map> #include <vector>
C++ Текстовый файл. Открыть, посчитать в нем количество английских и русских букв
У меня есть текстовый фаил с русским и английским текстом, как мне открыть этот фаил в с++ (путь к нему как указывать правильно), и как посчитать в нем количество английских и русских букв?
C++ Заменить первые два нулевые элементы заданного вектора В на два первых НЕ нулевые элементы этого вектора http://www.cyberforum.ru/cpp-beginners/thread765029.html
Дано вектор В, состоящий из N действительных чисел. Заменить первые два нулевые элементы заданного вектора В на два первых НЕ нулевые элементы этого вектора. Напечатать заданный и образован вектор.
C++ Дано матрицу A (3,4). Вывести номера столбцов и строк, где находится третий и пятый парные элементы этой матрицы Дано матрицу A (3,4). Вывести номера столбцов и строк, где находится третий и пятый парные элементы этой матрицы Добавлено через 25 минут По сути вот, но нужно немного подправить...Пожалуйста, если можете, помогите побыстрее :С #include <iostream> #include <conio.h> #include <stdlib.h> #include <time.h> #include <iomanip> #include <math.h> подробнее

Показать сообщение отдельно
TrueBit
 Аватар для TrueBit
95 / 95 / 12
Регистрация: 19.11.2012
Сообщений: 195
18.01.2013, 00:14     Почему допустимо создавать объект по другому объекту, но нельзя присваивать уже созданный объект, другому созданному объекту?
Цитата Сообщение от ~OhMyGodSoLong~ Посмотреть сообщение
Потому что как только вы объявляете свой конструктор, стандартная копировалка убирается. Чтобы определить свою, определяйте метод Array& Array::operator=(const Array &other), который и выполнит копирование полей из объекта other в текущий (и вернёт этот же текущий, return *this;).
А у меня и без стандартного работает, в а установили в б получили:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <iostream>
using namespace std;
class Array {
private:
    size_t mysize;
    int * mydata;
public:
    Array(size_t size);
    void set(int i, int val);
    int get(int i);
};
 
Array::Array(size_t size){
    mysize = size;
    mydata = new int [mysize];
}
 
void Array::set(int i, int val){
    mydata[i] = val;
}
 
int Array::get(int i){
    return mydata[i];
}
 
int main() {
    /*Array a(10);
    a.set(0,7);
    Array b(a); //Первый вариант
    */
    
    Array a(10);
    Array b(20);
    a.set(0,777);
    b=a;        //Второй вариант
    cout << b.get(0);
    cin.get();
}
 
Текущее время: 13:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru