我正在尝试全局创建对象,并尝试在构造函数的帮助下访问公共成员函数。但这显示了错误,任何人都可以帮我吗?
在这里,我创建了一个名为base的类,并尝试通过创建构造函数来访问全局范围内该类的公共成员函数。
#include <iostream>
using namespace std;
class base
{
void privatef()
{
cout<<"This is function from private scope\n";
}
public:
void publicf()
{
cout<<"This is function from public scope\n";
}
protected:
void protectedf()
{
cout<<"This is function from protected scope\n";
}
};
base()
{
publicf();
//privatef();
//protectedf();
}
base d;
class derived :public base
{
public:
derived()
{
//privatef();
publicf();
protectedf();
}
};
int main()
{
derived d1 ;
return 0;
}
错误: 错误:“)”令牌之前的预期unqualified-id 基础() ^
答案 0 :(得分:1)
那是正确的形式
#include "stdafx.h"
#include <iostream>
using namespace std;
class base
{
void privatef()
{
cout << "This is function from private scope\n";
}
public:
//Declare it at least first & then define it outside
base();
void publicf()
{
cout << "This is function from public scope\n";
}
protected:
void protectedf()
{
cout << "This is function from protected scope\n";
}
};
base::base()
{
publicf();
//privatef();
//protectedf();
}
base d;
class derived :public base
{
public:
derived(){
//privatef();
publicf();
protectedf();
}
};
int main()
{
derived d1;
return 0;
}