c++里被指定为private的函数可以在类外定义吗

来源:百度知道 编辑:UC知道 时间:2024/06/30 10:56:06
我向在private里先声明,然后在类外定义,这样可以吗?怎么我试试好像通不过
不好意思,是我没有搞清问题就来这里匆匆提问,我又试了一下,知道了类里的函数应该都是可以在类外定义的,不管是在public还是在private里声明。刚才我编译没有通过是因为在类里声明了函数,但是在类外没有给出定义。
非常感谢大家的关注,我是新手,刚刚学c++.

恩,是可以的,只不过访问时就有限制的 只有Public限制的才可以通过对象或其他方式来在类外(作用域外)进行访问。

没弄明白什么意思
应该是可以的

.h声明 .cpp实现

可以的!你试试这个程序,能输出的
#include <iostream>
using namespace std;
//------------------------------------------------------------------------------
class A
{
void b();
public:
void a();
};
void A::b(){cout<<"I can";}//在类外定义私有函数
void A::a(){b();}//因为b()是私有,所以只能在公有函数中调用了

int main()
{
A Test;
Test.a();

system("pause");
return 0;
}

可以的。你可以参考下面的例子
#include<iostream>
#include<string>
#include<stdio.h>
using namespace std;
class a
{
private:
void fun1();
public:
void fun2();
a(){fun1();}
};
void a::fun1()
{
cout<<"fun1"<<endl;
}
void main()
{
a aaa;
system("pause");