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

Преобразование классов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Нужно чтобы программа перезаписывала результат каждые 30сек http://www.cyberforum.ru/cpp-beginners/thread585132.html
Как это реализовать? Есть прога, которая считывает данные из файла и выводит на экран. Нужно чтобы она считывала данные каждые 30(приблизительно) секунд. Если есть идеи, поделитесь, буду очень...
C++ Выделить цветом символ в консоли Всем привет. Нужно в массиве выделять другим цветом определенный символ. enum COLOR {BLUE = 9, GREEN, TURQUOISE, RED, VIOLET, YELLOW}; void textcolor(int x, int y, WORD color) { HANDLE... http://www.cyberforum.ru/cpp-beginners/thread585126.html
Оператор цикла C++
Помогите пожалуйста с прогой: Известны оценки по физике каждого из 20 учеников класса. Вычислить среднюю оценку. //C++ или C#
C++ Одномерный массив, состоящий из n целых элементом
Помогите с задачами. a) Вычислить произведение элементов массива с чётными номерами. b) Сумма элементов массива, расположенных между первым и последним нулевыми элементами. c) Преобразовать...
C++ Столкновение объектов http://www.cyberforum.ru/cpp-beginners/thread585088.html
Собираюсь писать игру на SDL. В ней придется обрабатывать столкновения произвольных объектов. Меня интересует не физика, а именно как определить, столкнулись или нет и если столкнулись, то чем? ...
C++ Вывод номера элемента Всем привет, возник такой вопрос. есть массив, который вводится с клавиатуры, потом я ищу max\min элемент, вывожу его и вывожу номер этого элемента, но проблема как написать вывод этого элемента. ... подробнее

Показать сообщение отдельно
gray_fox
What a waste!
1521 / 1226 / 70
Регистрация: 21.04.2012
Сообщений: 2,565
Завершенные тесты: 3
24.05.2012, 13:03
Цитата Сообщение от LineStown Посмотреть сообщение
Почему нельзя использовать заккоментированые конструкторы
В первом конструкторе: с2 используете по значению, хотя это не полный тип. Т.е. он только объявлен, не определён. Имея только предварительное описание типа можно только объявлять ссылки\указатели на него, обращаться в его членам опять же нельзя - нужно определение. Как то так. С с2 налагогично: с1 - неполный тип. + методы, которые не изменяют состояния объекта надо делать константными. И точек с запятыми лишних куча. Этот же код, который можно скомпилировать:
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
//Преобразования классов
#include<iostream>
 
using namespace std;
 
class c2;
 
class c1
{
private:
    int a, b;
public:
    c1() : a(0), b(0) {} //;
    c1(int aa, int bb) : a(aa), b(bb) {} //;
    c1(c2 const& p);
    int getq() const {
       return a;
    }    
    operator c2() const;
    void print() const {
        cout << "c1 " << a  << " " << b << endl;
    }
};
 
class c2 {
private:
    int a;
public:
    c2() : a(0) {} //;
    c2(int aa) : a(aa) {}//;
    c2(c1 p) {
        a = p.getq() / 2;
    }
    int getq() const
    {
        return a;
    }
    operator c1() const;
    void print() const {
        cout << "c2 " << a << endl;
    }
};
 
c1::operator c2() const {
    return c2(a);
}
c2::operator c1() const {
    return c1(a * 2 ,a * 4);
}
 
c1::c1(c2 const& p) {
    a = p.getq() * 2;
    b = p.getq() * 4;
}
    
 
int main() {
    setlocale(LC_ALL,"Russian");
    c2 a(5);
    c1 b;
    b = c1(a);
    a.print();
    b.print();
    //return EXIT_SUCCESS;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru