C++类与对象问题

#include<iostream>#include <math.h>using namespace std;enum CPU_Rank{p1=1,p2,p3,p4,p5,p6,p7};class CPU{private: CPU_Rank rank; int frequency; float voltage;public: CPU(CPU_Rank r, int f, float v) { rank = r; frequency = f; voltage = v; cout << "构造了一个CPU!" << endl; } ~CPU() { cout << "析构了一个CPU!" << endl; } CPU_Rank getRank()const { return rank; } int getFrequency()const { return frequency; } float getVoltage()const { return voltage; } void setRank(CPU_Rank r){ rank = r;} void setFrequency(int f) { frequency = f;} void setVoltage(float v) { voltage = v; } void Run() { cout << "CPU开始运行!" << endl; } void Stop() { cout << "CPU停止运行!" << endl; }};class point {private: int x, y;public: point(int xx = 0, int yy = 0) :x(xx), y(yy) {} point(point &t) :x(t.x), y(t.y) { cout << "复制构造函数被调用" << endl; } ~point() {} int getx() {} int gety() {} void show();};void point::show() { cout << "x=" <<x << "y=" << y << endl;}class point1{private: int i_x; int i_y; int i_z;public: point1(); point1(int x, int y, int z); point1(point1 &pt); ~point1(); int getx(); int gety(); int getz();};point1::point1(){ cout << "调用无参构造函数,输入点坐标:\n"; cin >> i_x >> i_y >> i_z;}point1::point1(int x, int y, int z){ cout << "调用有参构造函数\n"; i_x = x; i_y = y; i_z = z;}point1::point1(point1 &pt){ cout << "调用复制构造函数\n"; i_x = pt.i_x; i_y = pt.i_y; i_z = pt.i_z;}point1::~point1(){ cout << "调用析构函数!\n"; }point1::point1(){}int point1::getx() { return i_x; }int point1::gety() { return i_y; }int point1::getz() { return i_z; }int main(){ CPU cpu(p6, 300, 2.8); cpu.Run(); cpu.Stop(); point a(1, 2); point b(a); a.show(); b.show(); cout << a.getx() <<": " << a.gety() << endl; double x, y, z, length; point1 p1; point1 p2(3, 4, 5); point1 p3(p1); x = p2.getx() - p3.getx(); y = p2.gety() - p3.gety(); z = p2.getz() - p3.getz(); length = sqrt(x*x + y*y + z*z); cout << "the length:" << length << endl; return 0;}

#include <iostream>
#include <math.h>
using namespace std;
enum CPU_Rank { p1 = 1, p2, p3, p4, p5, p6, p7 };
class CPU {
private: CPU_Rank    rank;
         int        frequency;
         float        voltage;
public: CPU(CPU_Rank r, int f, float v)
{
    rank = r;
    frequency = f;
    voltage = v;
    cout << "构造了一个CPU!" << endl;
}


        ~CPU()
        {
            cout << "析构了一个CPU!" << endl;
        }


        CPU_Rank getRank() const
        {
            return(rank);
        }


        int getFrequency() const
        {
            return(frequency);
        }


        float getVoltage() const
        {
            return(voltage);
        }


        void setRank(CPU_Rank r)
        {
            rank = r;
        }


        void setFrequency(int f)
        {
            frequency = f;
        }


        void setVoltage(float v)
        {
            voltage = v;
        }


        void Run()
        {
            cout << "CPU开始运行!" << endl;
        }


        void Stop()
        {
            cout << "CPU停止运行!" << endl;
        }
};
class point {
private: int x, y;
public: point(int xx = 0, int yy = 0) : x(xx), y(yy)
{
}


        point(point & t) : x(t.x), y(t.y)
        {
            cout << "复制构造函数被调用" << endl;
        }


        ~point()
        {
        }


        int getx()
        {
            return(x);
        }


        int gety()
        {
            return(y);
        }


        void show();
};
void point::show()
{
    cout << "x=" << x << "y=" << y << endl;
}


class point1 {
private: int    i_x;
         int    i_y;
         int    i_z;
public: point1();
        point1(int x, int y, int z);
        point1(point1 & pt);
        ~point1();
        int getx();


        int gety();


        int getz();
};
point1::point1()
{
    cout << "调用无参构造函数,输入点坐标:\n";
    cin >> i_x >> i_y >> i_z;
}


point1::point1(int x, int y, int z)
{
    cout << "调用有参构造函数\n"; i_x = x; i_y = y; i_z = z;
}


point1::point1(point1 &pt)
{
    cout << "调用复制构造函数\n";
    i_x = pt.i_x; i_y = pt.i_y; i_z = pt.i_z;
}


point1::~point1()
{
    cout << "调用析构函数!\n";
}


int point1::getx()
{
    return(i_x);
}


int point1::gety()
{
    return(i_y);
}


int point1::getz()
{
    return(i_z);
}


int main()
{
    CPU cpu(p6, 300, 2.8);


    cpu.Run();
    cpu.Stop();
    point a(1, 2);


    point b(a);


    a.show();
    b.show();
    cout << a.getx() << ": " << a.gety() << endl;
    double    x, y, z, length;
    point1    p1;
    point1 p2(3, 4, 5);


    point1 p3(p1);


    x = p2.getx() - p3.getx();
    y = p2.gety() - p3.gety();
    z = p2.getz() - p3.getz();
    length = sqrt(x * x + y * y + z * z);
    cout << "the length:" << length << endl; return(0);
}

温馨提示:内容为网友见解,仅供参考
无其他回答

C++类区别:类和对象
类与对象是C++编程中两个核心概念。它们之间的区别常常让人感到困惑。类是对象的蓝图或模板,而对象则是类的实例。例如,我们可以将“汽车”定义为一个类,包含属性如颜色、品牌、速度等,以及方法如启动、加速、刹车等。当我们创建“宝马”、“奔驰”或“奥迪”这些具体的汽车时,我们就是在创建“汽车...

c++的类和对象
类是具有相同属性和相同的方法的对象的集合,它是一种既包含数据又包含函数的抽象数据类型。对象是类进行实体化后的产物,是一个实体。在C++中也是先声明一个类类型,然后用它去定义若干个同类型的对象。对象就是类类型的一个变量。可以说类是对象的模板,是用来定义对象的一种抽象类型。类是抽象的,...

C++类和对象到底是什么意思?
C++是一门面向对象的编程语言,理解C++首先需要明白类(Class)与对象(Object)这两个概念。在C++中,类可以被看作是C语言中结构体(Struct)的升级版。结构体是一种构造类型,可以包含不同类型的成员变量。通过结构体定义的变量称为结构体变量,具有相同的性质。例如:运行结果:小明的年龄是15,成绩是...

C++类和对象到底是什么意思?
C++,作为一门引领编程潮流的面向对象编程语言,其基石便是类(Class)和对象(Object)。类,就像是C语言中的结构体(Struct)的升级版,但承载了更多功能和灵活性。让我们一起揭开这个概念的神秘面纱。在C++中,类是一个构造类型,它超越了结构体的简单变量集合。它不仅包含成员变量,如变量"小明的年龄...

C++类和对象到底是什么意思?
对象(Object)是类的实例化,通过类定义的变量被称为对象。在C++中,通过类名创建对象,例如:Student stu1;。对象可以调用类中的成员函数,实现特定功能。例如:stu1.display();。类可以看作一种由用户自定义的数据类型,包含属性(成员变量)和方法(成员函数)。对象则表示具体的数据实例,与类一同...

关于C++对象访问类成员的问题
类的成员是分级别的:protect,public,private。在类内部定义的函数可以访问任何一个变量,或者调用任何的类内部的函数,但是,如果被定义成private的话,对象是不能调用的,也就是对象只能调用定义为public的数据,如果你确实需要调用某个private的变量,你可以定义一个public的函数来返回这个变量,比如:cla...

关于c++的类与对象的题目。。为什么会选择c而不是d。类的名字是个抽象...
不是D的原因批阅里面已经说了,是C的原因是因为"::"表示作用域,BASE::fun表示调用类BASE的fun函数,这种用法只适合两种情况。一个就是你的题目中的两个类是父子关系时,此时的对象就是子类定义的对象;另一个是fun函数是静态函数时,fun不属于任何对象 ...

求助!C++中类的构造函数与创建动态对象的问题!
第一段代码 类a中你没有些构造函数,因此,编译器会替你自动添加一个默认的构造函数: a(void){},所以你在第一段的main函数中p = new a;时,实际上调用的是这个默认的构造函数a(void){},当然不需要参数。第二段代码你自己写了构造函数,编译器就不会替你添加默认的构造函数,所以在main...

C++类和对象,一个问题始终无法找到错误所在?望各位高手指点
void set_stu_inf();上面是你的声明,函数体没有任何参数 下面是你的函数,却冒出来5个参数 void Student::set_stu_inf(int r[10],char n[10],double m,double e,double c){ reg[10]=r[10];name[10]=n[10];math=m;eng=e;comp=c;} ...

学c++被类与对象那章搞得很迷糊,应该如何理解这部分的知识呢?山东_百 ...
类是对象的抽象 对象是类的具现 比如人是一个抽象的主体,具体到你本身就是一个对象 所以设计类,就是对你所要实现功能的抽象 如你要实现圆、矩形等基本几何形的绘制 1 封装 每种几何形就是一个类,他们有各自的参数和绘制方法 <圆类>:中心点、半径、圆的绘制算法 <矩形类>:左上点,右下点...

相似回答