我该怎么办?
我在create 2中创建了一个基类(一个用于字符串,一个用于int数),在派生类(继承)中创建一个新的set(字符串名称),我想在参数化构造函数中组合它们。 / p>
感谢任何帮助,谢谢大家:)
这是我的代码示例:(它在参数化构造函数中显示错误)
#include <iostream>
#include <string.h>
using namespace std;
class Code
{
protected:
string letter;
int number;
public:
string getletter();
int getnumber();
void setletter(string letter1);
void setnumber(int number1);
};
void Code::setletter(string letter1)
{
letter=letter1;
}
void Code::setnumber(int number1)
{
number=number1;
}
string Code::getletter()
{
return letter;
}
int Code::getnumber()
{
return number;
}
class Course : public Code
{
private:
string name;
public:
Course(string name1, string letter1, int number1);
string getname();
void show();
};
Course::Course (string name1, string letter1,int number1) :
setletter(letter1), setnumber(number1) //Parameterized Constructor
{
name=name1;
letter=letter1;
number=number1;
}
string Course::getname()
{
return name;
}
void show()
{
Course com("Object oriented programming","com",210);
cout<<"Constructor >>>\n Course Name : "<< com.getname()<<"\n Course Code : "<< com.getletter() << com.getnumber()<<endl;
}
int main()
{
show();
}
答案 0 :(得分:0)
您可以在构造函数中调用它们
Course::Course (const string& name1, const string& letter1, const int number1) :
{
name=name;
setletter(letter1); // equivalent to letter=letter1
setnumber(number1);
}
您可以在Code类
中添加构造函数Code(const string& letter, const int number);
并在课程构造函数中将其称为
Course::Course(const string& name1, const string& letter1, const int number1)
: Code(letter1, number1), name(name1)
{
}
但我不确定你的要求是什么,如果你对你想要的东西更精确一点,那就太好了,谢谢。
答案 1 :(得分:-1)
构造函数的参数列表之后的:
是'成员初始化列表'。
Course::Course (string name1, string letter1,int number1)
: name(name1), letter(letter1), number(number1) { }