【发布时间】:2019-04-27 02:01:13
【问题描述】:
如何在派生类的抽象类的复制构造函数中插入值
如果我删除虚函数并创建基类的对象,或者如果我更改了复制构造函数但我只能访问派生类,则该程序运行良好。
class Book{
protected:
string title;
string author;
public:
Book(string t,string a){
title=t;
author=a;
}
virtual void display()=0;
};
class MyBook: private Book
{
public:
int price;
MyBook(string t,string a,int p)
{
Book(t,a);
price = p;
}
void display()
{
....
}
};
int main() {
string title,author;
int price;
getline(cin,title);
getline(cin,author);
cin>>price;
MyBook novel(title,author,price);
novel.display();
return 0;
}
【问题讨论】:
-
派生类构造函数的语法看起来不正确,你应该使用像
MyBook(string t,string a,int p) : Book(t,a)这样的初始化列表 -
您发布的代码中没有复制构造函数。
标签: c++