C++入门经典-例8.9-抽象类,纯虚函数,创建纯虚函数

1:包含有纯虚函数的类称为抽象类,一个抽象类至少具有一个纯虚函数。抽象类只能作为基类派生出的新的子类,而不能在程序中被实例化(即不能说明抽象类的对象),但是可以使用指向抽象类的指针。在程序开发过程中并不是所有代码都是由软件构造师自己写的,有时候需要调用库函数,有时候分给别人写。一名软件构造师可以通过纯虚函数建立接口,然后让程序员填写代码实现接口,而自己主要负责建立抽象类。

2:纯虚函数

纯虚函数是指被标明为不具体实现的虚成员函数,它不具备函数的功能。许多情况下,在基类中不能给虚函数一个有意义的定义,这时可以在基类中将它声明为纯虚函数,而实现留给派生类去做。纯虚函数不能被直接调用,而仅起到提供一个与派生类已知的接口的作用。

声明纯虚函数的形式为:

时间: 2024-10-22 13:50:14

C++入门经典-例8.9-抽象类,纯虚函数,创建纯虚函数的相关文章

C++入门经典-例6.12-使用数组地址将二维数组输出

1:以a[4][3]为例 a代表二维数组的地址,通过指针运算符可以获取数组中的元素 (1)a+n代表第n行的首地址 (2)&a[0][0]既可以看作第0行0列的首地址,同样也可以被看作是二维数组的首地址.&a[m][n]就是第m行n列元素的地址 (3)&a[0]是第0行的首地址,当然&a[n]就是第n行的首地址 (4)a[0]+(n-1)表示第0行第n个元素 (5)*(*(a+n)+m)表示第n行第m列 (6)*(a[n]+m)表示第n行第m列元素 2:代码如下: // 6

C++入门经典-例7.9-对象数组,批量化生产

1:在数组内容中我们了解到,数组是通过指针分配到的一段额定大小的内容.同样,数组也可以包含对象.声明对象数组的形式如下: box boxArray[5]; box boxArray2[2]={box(1,1,1),box(2,2,2)}; box boxArray3[3]={3,styleBox}; 值得注意的是,第一种申请对象数组的方法必须保证类中含有默认的够好函数,否则编译器将会报错.同样,可以通过对象指针申请动态数组.例如: box* box; pbox=new box[n];//n为整数

C++入门经典-例7.3-析构函数的调用

1:析构函数的名称标识符就是在类名标识符前面加"~".例如: ~CPerson(); 2:实例代码: (1)title.h #include <string>//title是一个类,此为构造了一个类 #include <iostream> using std::string; class title{ public: title(string str);//这是一个构造函数 title();//这是一个无参构造函数 ~title();//这就是一个析构函数,执行

C++入门经典-例3.5-判断某一年是否是闰年之嵌套判断

1:代码如下: // 3.5.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> using namespace std; void main() { int iYear; cout << "请输入年份" << endl; cin >> iYear; if(iYear%4==0) { if(iYear%100==0) { if(iYear%40

C++入门经典-例2.15-逗号表达式的应用

1:代码如下: // 2.15.cpp : 定义控制台应用程序的入口点. #include "stdafx.h" #include<iostream> using namespace std; void main() { int a=4,b=6,c=8,res1,res2; res1=a,res2=b+c; for(int i=0,j=0;i<2;i++) { printf("y=%d,x=%d\n",res1,res2); } } 运行结果:

C++入门经典-例3.4-根据成绩划分等级

1:代码如下: // 3.4.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> using namespace std; void main() { cout<<"输入成绩"<<endl; int iInput; cin >> iInput; if(iInput>=90) { cout << "优秀" &

C++入门经典-例6.5-连接字符串

1:运行代码如下: // 6.5.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> using std::cout; using std::endl; using std::cin; void main() { char str1[30],str2[20]; cout<<"请输入数组1:"<< endl; cin>>str1; cout<

C++入门经典-例6.20-修改string字符串的单个字符

1:使用+可以将两个string 字符串连接起来.同时,string还支持标准输入输出函数.代码如下: // 6.20.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> #include <string> using namespace std; int main() { string str1 = "您好,"; string str2; cout<<&

C++入门经典-例3.2-根据分数判断是否优秀

1:代码如下: // 3.2.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> using namespace std; void main() { int iInput; cout<<"大于90为优秀成绩"<<endl; cout<<"请输入学生成绩"<<endl; cin >> iInput;