写一个类,类名是computer,类中有name属性,print方法(用来输出name)

来源:百度知道 编辑:UC知道 时间:2024/06/01 13:12:03
用下面主函数进行测试
int main() {
computer *p;
Macintosh imac("Joe's IMAC","Blue");
p = &imac;
p->print();
}
得到的结果为:
Name: Joe's IMAC
Color: Blue

标准的虚函数问题,computer作为父类,不实现print,但是因为print是虚函数,所以子类Macintosh改写了print后,父类的指针computer *p在指向子类的对象时(p = &imac; ),实际调用的是子类的print方法。代码如下:

class computer
{
string name;
string color;
pubilc:
virtual void print()
{};
}

class Macintosh : public computer
{
pubilc:
virtual void print()
{
cout<<"Name:"<<name<<endl;
cout<<"Color"<<color<<endl;
};
}

显然,如果要进行类对象运算赋值,必须对类的运算符进去重载,也要知道Macintosh imac("Joe's IMAC","Blue")的相关资料!

用computer继承Macintosh