c++中的虚函数
来源:互联网 发布:安装新的网络打印机啊 编辑:程序博客网 时间:2024/05/29 15:28
#include<iostream>
using namespace std;
/**
虚函数:virtual 函数返回值 函数名();
虚函数没有函数体,由子类完成函数体的定义
要想每个类中重写的执行方法不同,则必须使用 父类*p;
指向子类对象的地址,这样才能实现运行时多态
*/
class C
{
public:
virtual string toString()
{
return "class C";
}
};
class B:public C
{
public:
string toString()
{
return "class B";
}
};
class A:public B
{
public:
string toString()
{
return "class A";
}
};
void displayObject(C *p)
{
cout<<p->toString().data()<<endl;
}
void displayObject1(C p)
{
cout<<p.toString().data()<<endl;
}
int main()
{
//匿名对象 类名();
A a=A();
B b=B();
C c=C();
displayObject(&a);
displayObject(&b);
displayObject(&c);
displayObject1(a);
displayObject1(b);
displayObject1(c);
return 0;
}
using namespace std;
/**
虚函数:virtual 函数返回值 函数名();
虚函数没有函数体,由子类完成函数体的定义
要想每个类中重写的执行方法不同,则必须使用 父类*p;
指向子类对象的地址,这样才能实现运行时多态
*/
class C
{
public:
virtual string toString()
{
return "class C";
}
};
class B:public C
{
public:
string toString()
{
return "class B";
}
};
class A:public B
{
public:
string toString()
{
return "class A";
}
};
void displayObject(C *p)
{
cout<<p->toString().data()<<endl;
}
void displayObject1(C p)
{
cout<<p.toString().data()<<endl;
}
int main()
{
//匿名对象 类名();
A a=A();
B b=B();
C c=C();
displayObject(&a);
displayObject(&b);
displayObject(&c);
displayObject1(a);
displayObject1(b);
displayObject1(c);
return 0;
}
0 0
- [C++]C++中的虚函数
- c中的函数指针
- C ++ 中的函数
- C中的随机数函数
- c中的strtok函数
- c语言中的函数
- C中的static函数
- unix中的c函数
- C中的stat()函数
- C中的strncat()函数
- C中的qsort函数
- c中的字符串函数
- C中的access函数
- C语言中的函数
- C中的access函数
- C中的access函数
- C中的access函数
- C中的qsort函数
- spring的bean种类
- 01-复杂度1 最大子列和问题 (20分)
- CodeForces 367B Sereja ans Anagrams (map)
- ubuntu Django mysql 入门
- 一款基于Vue2.0高仿微信App的单页应用
- c++中的虚函数
- call by value or reference
- 小结Binder驱动
- POJ 3714 Raid(变种最近点对问题:分治+剪枝)
- 不知哪里有问题,在输入用户名后,没反应?请教,请教。
- java虚拟机中如何判断对象是否存活
- 简单网络知识1
- spring的bean作用域
- erp管理(企业资源计划管理 )