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

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

Войти
Регистрация
Восстановить пароль
 
proech
10 / 10 / 2
Регистрация: 10.07.2013
Сообщений: 150
#1

неправильно берёт x,y в классе ellips - C++

01.11.2013, 01:00. Просмотров 243. Ответов 2
Метки нет (Все метки)

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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#include "stdafx.h"
#include <iostream>
#include <cmath>
#include <Windows.h>
using std::cout;
using std::endl;
 
void setColor(unsigned short F,unsigned short B)
{
    void * HANDLE = GetStdHandle((DWORD)-11);
    SetConsoleTextAttribute(HANDLE,(B<<4)|F);
 
}
void Say(char* Phrase)
{setColor(12,0);
    std::cout<<Phrase<<std::endl;
    setColor(15,0);}
 
class point{
      protected:
double x;
double y;
public:
       point ():x(0),y(0){}
      point(double X,double Y){x = X;y = Y;}
      double getX(){return x;}
      double getY(){return y;}
      double SetX(double X){x = X;return x;}
      double SetY(double Y){y = Y;return y;}
      void Show(char *phrase){std::cout<<phrase<<"x:"<<x<<"y:"<<y <<std::endl;}
      void moveXY(double Xn,double Yn){x = Xn;y = Yn;Show("new Coordinats ");}
      };
 
class Circle :public point
{
protected:
 
 double radius;
        public :
            double GetRadius()
            {
              return radius;
            }
void show(char* phrase){std::cout<< phrase<<"x:"<<x<<"y:"<<y<<"r:"<<radius<<std::endl;}
 
Circle(point p,double R):point(p.getX(),p.getY()){
    
    radius = R;}
void MoveCenter(double xn,double yn){x = xn;y =yn; show("New Center Circle: ");}
};
 
class Ellips:public Circle 
{
 
    double radY;
    
public:
//строка которая меня смущает
Ellips(Circle c,double rY) : Circle(point(x,y),c.GetRadius()){
//
    {
    
        radY =  rY;
        }
}
    void show(char * phrase){std::cout<<phrase<<"rX:"<<radius<<" rY: "<< radY << "x:" <<getX()<<"y:"<<getY()<<std::endl;}
    void MoveCenterXY(double xn, double yn){x = xn;y = yn;show("New Center: Ellipse  ");
    }
};
 
      int main(int ArgCount ,char ** Arguments){
          setColor(15,0);
      point A(2,2);
     Circle B(A,5);
     Ellips C(B,4);
      A.Show("Point:");
      B.show("Circle:");
      C.show("Ellipse:");
    Say("move  x - 2 ,y - 2");
    A.moveXY(2,2);
    Say("move x - 2 ; move y - 3");
    B.MoveCenter(2,3);
    Say("move center x - 2 y - 2");
     C.MoveCenterXY(2,2);
     getchar(); 
     return 0;}
как правильно унаследовать ?

Добавлено через 3 минуты
или подскажите как правильно
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.11.2013, 01:00     неправильно берёт x,y в классе ellips
Посмотрите здесь:

Неправильно работают методы в классе - C++
Есть класс GameObject в котором есть виртуальный метод draw: class GameObject { public: float xpos = 0; float ypos = 0; int...

В классе дек неправильно работает оператор + - C++
Я написал класс дек. И вскоре обнаружилась проблема того что оператор + работает не так как надо. Было написано 3 оператора. Дек+Дек....

Функция не берёт значение переменной из программы - C++
Короче функция игнорирует переменные из программы. (переменные глобальные) вот код //#include &lt;cstdlib&gt; #include &lt;iostream&gt; ...

Проверьте задачку по циклам, неправильно работает. [думаю что неправильно] - C++
Спасибо что решили зайти. Задание выгладит так: http://*******/PW95p А результат выплнения: http://*******/KwhuS #include...

Enum в классе - C++
Добрый день, форум! Возникла такая задачка: Есть класс, в классе есть функция, которая принимает 1 аргумент типа int. В зависимости...

Сортировка в классе - C++
Задание: Описать класс WORKER, содержащий следующие поля: •фамилия и инициалы работника; •название занимаемой должности; •год...

Массив в классе - C++
Доброго времени суток, имеется программа на си++ ,проблема возникает в том ,что поле в структуре int ys нужно переделать под массив int ys;...

Конструктор в классе - C++
доброго времени суток у меня есть класс объекта: class door { public: float sqaredoor (); //функция расчета площади...

Массив в классе - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; using namespace std; class Vector { ...

конструктор в классе - C++
написала программу создания объектов в классе с помощью конструктора, но есть ошибки в конструкторе, помогите пожалуйста найти и исправить...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
proech
10 / 10 / 2
Регистрация: 10.07.2013
Сообщений: 150
01.11.2013, 01:04  [ТС]     неправильно берёт x,y в классе ellips #2
вот наглядно
Миниатюры
неправильно берёт x,y  в классе  ellips  
proech
10 / 10 / 2
Регистрация: 10.07.2013
Сообщений: 150
01.11.2013, 01:15  [ТС]     неправильно берёт x,y в классе ellips #3
сделал
ну ,а так по наследованию правильно?
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#include "stdafx.h"
#include <iostream>
#include <cmath>
#include <Windows.h>
using std::cout;
using std::endl;
 
void setColor(unsigned short F,unsigned short B)
{
    void * HANDLE = GetStdHandle((DWORD)-11);
    SetConsoleTextAttribute(HANDLE,(B<<4)|F);
 
}
void Say(char* Phrase)
{setColor(12,0);
    std::cout<<Phrase<<std::endl;
    setColor(15,0);}
 
class point{
      protected:
double x;
double y;
public:
       point ():x(0),y(0){}
      point(double X,double Y){x = X;y = Y;}
      double getX(){return x;}
      double getY(){return y;}
      double SetX(double X){x = X;return x;}
      double SetY(double Y){y = Y;return y;}
      void Show(char *phrase){std::cout<<phrase<<"x:"<<x<<"y:"<<y <<std::endl;}
      void moveXY(double Xn,double Yn){x = Xn;y = Yn;Show("new Coordinats ");}
      };
 
class Circle :public point
{
protected:
 
 double radius;
        public :
            double GetRadius()
            {
              return radius;
            }
void show(char* phrase){std::cout<< phrase<<"x:"<<x<<"y:"<<y<<"r:"<<radius<<std::endl;}
 
Circle(point p,double R):point(p.getX(),p.getY()){
    
    radius = R;}
void MoveCenter(double xn,double yn){x = xn;y =yn; show("New Center Circle: ");}
};
 
class Ellips:public Circle 
{
 
    double radY;
    
public:
 
Ellips(Circle c,double rY):Circle(point(c.getX(),c.getY()),c.GetRadius() ){
//
    {
    
        radY =  rY;
        }
}
    void show(char * phrase){std::cout<<phrase<<"rX:"<<radius<<" rY: "<< radY << "x:" <<x<<"y:"<<y<<std::endl;}
    void MoveCenterXY(double xn, double yn){x = xn;y = yn;show("New Center: Ellipse  ");
    }
};
 
      int main(int ArgCount ,char ** Arguments){
          setColor(15,0);
      point A(3,3);
     Circle B(A,5);
     Ellips C(B,4);
      A.Show("Point:");
      B.show("Circle:");
      C.show("Ellipse:");
    Say("move  x - 2 ,y - 2");
    A.moveXY(2,2);
    Say("move x - 2 ; move y - 3");
    B.MoveCenter(2,3);
    Say("move center x - 2 y - 2");
     C.MoveCenterXY(2,2);
     getchar(); 
     return 0;}
Ответ Создать тему
Опции темы

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