访问说明符,无法调用派生类中定义的函数

时间:2018-11-14 05:12:14

标签: c++ access-specifier

我试图学习c ++中的访问说明符,因此我从基类访问了一个公共且受保护的成员,并在派生类中执行了add函数,如下所示,

#include<iostream>
using namespace std;

class Base
{
    public:
        int a;
    protected:
        int b;
};

class Derived : public Base
{
    public:
        int sum;
        void add()
        {   
            a = 10;
            b = 20;
            sum = a + b;
        }
};


int main()
{
    Derived Obj;
    Obj.add;
    cout << "The sum : " << Obj.sum << "\n";
    return 0;
}   

但是在编译时,我收到以下错误消息“语句无法解析重载函数的地址”,有人可以解释什么是错误吗?

预先感谢

1 个答案:

答案 0 :(得分:2)

该函数的调用在以下行中缺少括号:

Obj.add;

应为:Obj.add();