0
点赞
收藏
分享

微信扫一扫

构造函数访问权限(4)


#ifndef
#define
#include <iostream>
#include <string>
using namespace std;
class A {
public:
A();
void test();
protected:
A(int i);
private:
A(string name);
};


#endif

#include "A.h"
A::A() {

}

A::A(int a) {

}

A::A(string name) {

}

void A::test() {

}

#ifndef
#define
#include "A.h"
class B :public A {
public:
B();
void test();


};

#endif

#include "B.h"
B::B():A(100){

}

void B::test() {

//A b(100); //public 基类、派生、外部都可访问 protected:基类、派生类可以访问(通过命令行传参形式访问),外部不可访问 private:基类可以访问
}

#ifndef
#define
#include <iostream>
using namespace std;
class C{
private:
C();//如果构造函数是私有类,怎么调动私有函数和怎么调动成员函数,可以通过静态函数实现
public:
void C1();

C static fun();
};

#endif

#include "C.h"
C::C() {

}


void C::C1() {
cout << "C1" << endl;
}

C C::fun() {
C c1;
return c1;

}

#include "A.h"
#include "B.h"
#include "C.h"

int main() {
A a;
//A b(100); //public 基类、派生、外部都可访问 protected:基类、派生类可以访问(通过命令行传参形式访问),外部不可访问 private:基类可以访问

C c = C::fun();
c.C1();

return 0;
}


举报

相关推荐

0 条评论