继承关键字:
struct和class 继承的区别:
#include <iostream> using namespace std; class A{ public: int a; protected: int b; private: int c; }; class B:A{ //默认private 继承 }; struct Person{ public: int a; protected: int b; private: int c; }; struct Man:Person{ //默认public 继承 //子类能不能访问父类里面的成员还要看父类中的关键字 //限定词 作交集 }; int main(int argc, const char * argv[]) { // insert code here... B b = B(); //cout << b.a << endl; Man m = Man(); cout << m.a << endl; std::cout << "Hello, World! "; return 0; }
总结:
从语法上讲,class和struct做类型定义时只有两点区别:
(一)默认继承权限。如果不明确指定,来自class的继承按照private继承处理,来自struct的继承按照public继承处理;
(二)成员的默认访问权限。class的成员默认是private权限,struct默认是public权限。 除了这两点,class和struct基本就是一个东西。语法上没有任何其它区别。