为什么当我尝试从基本类别中打印属性时,它始终为0?在c ++中

问题描述 投票:0回答:1

我有一个基类

class Servicii{
protected:
    double price;
public:
    Servicii(double p):price(p){}
    double getPrice(){return price;}

和3个派生类CarBookHouse。因为它们是派生类,所以它们都将具有价格


class House:public Servicii{
private:
    int level;
public:
    House(double p,int l):
          Servicii(price),level(l){}

主要是创建一些这样的对象:

House *h1=new House(600,3);
Book *b1=new Book("Dostoievski","Crima si Pedeapsa",5,98.5);

我的问题是,当我打印价格时,价格始终为0。例如,房子的价格为600,但是当我打印价格时,价格为0,我不知道为什么。我已经在Servicii中制作了一个打印函数,并且所有派生类都继承了该函数+它们打印自己的属性。

我有基类Servicii {受保护:双倍价格; public:Servicii(double p):price(p){} double getPrice(){return price;}和3个派生类Car Book House。因为它们是...

c++ inheritance printing derived-class
1个回答
2
投票

在此构造函数中:

© www.soinside.com 2019 - 2024. All rights reserved.