美文网首页
继承和派生以及类的组合

继承和派生以及类的组合

作者: 夕阳下的不回头 | 来源:发表于2018-09-06 11:13 被阅读7次

继承和类的组合都是解决问题的好方法
但是要视具体情况而定
有些问题既能用继承也能用类的组合的时候
我们首选组合 因为组合的语法相对简单
(虽然我没用过0.0)
组合就是直接在一个类的定义里还有另外一个类
比如
Class A
{
};
Class B
{
A a;
int c;
}
这个A不是基本数据类型 是个类 a是对象
这种在一个类中还有另外一个类的情况就是类的组合
例子:转自鸡啄米
Distance类就是组合类,可以计算两个点的距离,它包含了Point类的两个对象p1和p2。

   #include <iostream>
   using namespace std;

   class Point
   { 
   public:
             Point(int xx,int yy)   { X=xx; Y=yy; } //构造函数
             Point(Point &p);
             int GetX(void)     { return X; }        //取X坐标
             int GetY(void)     { return Y; } //取Y坐标
   private:
             int X,Y; //点的坐标
   };

   Point::Point(Point &p)
   {
             X = p.X;
             Y = p.Y;
             cout << "Point拷贝构造函数被调用" << endl;
   }

   class Distance
   {
   public:
            Distance(Point a,Point b); //构造函数
            double GetDis()   { return dist; }
   private:
            Point  p1,p2;
            double dist;               // 距离
    };
    // 组合类的构造函数
    Distance::Distance(Point a, Point b):p1(a),p2(b)
    {
            cout << "Distance构造函数被调用" << endl;
            double x = double(p1.GetX() - p2.GetX());
            double y = double(p1.GetY() - p2.GetY());
            dist = sqrt(x*x + y*y);
            return;
    }

    int _tmain(int argc, _TCHAR* argv[])
    {
           Point myp1(1,1), myp2(4,5);
           Distance myd(myp1, myp2);
           cout << "The distance is:";
           cout << myd.GetDis() << endl;
           return 0;
    }

C++类体系中,不能被派生类继承的有_________。

A 析构函数
B 虚函数
C 静态成员函数
D 静态成员函数
选A 为毛呢。。。可能是因为派生类的成员和以前的不一样了 没法直接拿过来析构

相关文章

  • 继承和派生以及类的组合

    继承和类的组合都是解决问题的好方法但是要视具体情况而定有些问题既能用继承也能用类的组合的时候我们首选组合 因为组...

  • 实现继承

    1. 继承 1.1 继承和派生的关系 基类和派生类的关系就是,派生类从基类派生而来。 1.2 派生语法 1.3 访...

  • 2017.9.18

    继承和派生 派生的格式: class 派生类名:继承方式 基类名 {派生类中的新成员} 例: class Mast...

  • OC学习总结2 派生、重写和多态

    继承和派生继承是指一个新类拥有全部被继承类的属性和方法,通过继承产生新类的过程也称作派生。派生: 由子类创建的方法...

  • C++派生类

    派生类的概念和定义 ① 定义格式 派生类定义的语法为: class 派生类名:继承方式1 基类名1, 继承方式2 ...

  • 03 继承和派生 组合

    一 继承介绍 继承是一种创建新类的方式,在Python中,新建的类可以继承一个或多个父类,新建的类可称为子类或派生...

  • C++基础10:继承和派生 虚函数的作用 多态性概念 纯虚函数和

    一.继承和派生 1.概念: 基类(父类):原有的类 派生类(子类):基于基类新建立的类 派生(类的派生):在原有类...

  • day 5(python notes)

    note1:继承通过派生类和基类实现。基类称为父类,派生类称为子类。继承语法如下:class SubClassNa...

  • 虚函数和非虚函数

    接口继承和实现继承 public继承下,派生类总是继承基类的接口。 纯虚函数必须被派生类重新声明,通常在抽象类中没...

  • 2017-9-18学习总结

    今天,是充满希望的一天。 上学学习了继承和派生 笔记内容: class 派生类名:继承方式 基类名 { 派生类中的...

网友评论

      本文标题:继承和派生以及类的组合

      本文链接:https://www.haomeiwen.com/subject/yritgftx.html