#include<string>
#include<iostream>
using std::string;
class card {//自定义类对象
private:
int a;
public:
card() { a = 0; }
};
class base : private card{//私有继承自定义对象
private:
int num;
public:
base(int n) :card(), num(n) {}
base(int n) :card(), num(n) {}
~base() {}
};
class pro : public base {//公有继承base对象
public:
card result();//这里没打算直接调用base的card成员,而是返回一个card成员
};
在最下面的card result() 编译器就开始报错无法访问card。。可我不是想访问card,而是想返回他啊。。
更奇怪的是把上面card定义删除后,将所有card替换成string,就不会报错。。。看到这就直接迷了。
#include<string>
#include<iostream>
using std::string;
class base : private string{
private:
int num;
public:
base(int n) :string(), num(n) {}
base(int n) :string(), num(n) {}
~base() {}
};
class pro : public base {
public:
string result();
};
C和C++完整教程:https://blog.csdn.net/it_xiangqiang/category_10581430.html