如何在派生类中实现类的基本函数

Posted borter

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在派生类中实现类的基本函数相关的知识,希望对你有一定的参考价值。

如何在派生类中实现类的基本函数

基类的构造函数、析构函数、赋值函数都不能被派生类继承。如果类之间存在继承 关系,在编写上述基本函数时应注意以下事项:

派生类的构造函数应在其初始化表里调用基类的构造函数。

基类与派生类的析构函数应该为虚(即加 virtual 关键字)。

 

 1 #include <iostream>
 2 
 3 /* run this program using the console pauser or add your own getch, system("pause") or input loop */
 4 using namespace std; 
 5 
 6     //add()函数的定义,其有返回值
 7 double add(double x,double y)
 8 {
 9     double z;
10     z=x+y;
11     cout<<x<<"+"<<y<<"="<<z<<endl;
12     return(z);
13 }
14 
15 int main(int argc, char** argv) {
16 
17 
18     double a=0.5,b=1.0;
19     
20     //以不同参数形式调用函数add()
21     cout<<"add(1.5,2.5)="<<add(1.5,2.5)<<endl;
22     cout<<"add(a,b)="<<add(a,b)<<endl;
23     cout<<"add(2*a,a+b)="<<add(2*a,a+b)<<endl;
24     cout<<"----------------------"<<endl;
25 
26     //以表达式方式调用函数add()
27     double c=2*add(a,b);
28     cout<<"c="<<c<<endl;
29     cout<<"----------------------"<<endl;
30 
31     //以语句式方式调用函数add()
32     add(2*a,b);
33     cout<<"----------------------"<<endl;
34  
35     //用其他类型参数调用函数add()
36     int n=1,m=2;
37     cout<<"add("<<n<<","<<m<<")="<<add(n,m)<<endl;
38     return 0;
39 }

 

以上是关于如何在派生类中实现类的基本函数的主要内容,如果未能解决你的问题,请参考以下文章

如何在头文件C++中实现类对象

在 Scala Slick 中实现类实例成员修改的最佳方法?

即使在 XCTest 文件中实现类扩展中的方法后,仍会调用协议的默认实现

如何使用 QObject 派生类实例遵循 OOP 基本概念?

在 C++ 继承中,当指向基类的指针对象指向派生类时,不调用派生类析构函数

如何在不向下转换的情况下调用派生类的成员函数