• 对C++下struct 和 类默认继承的认识


     1 #include <iostream>
     2 using namespace std;
     3 struct  struct1{
     4     int data1 ;
     5     double data2 ;
     6     struct1(){
     7         (*this).data1 = data1 ;
     8         (*this).data2 = data2 ;
     9         cout<<"this is output by struct1 function !";
    10     }
    11     public : 
    12     void privateFunc(){
    13         cout<<"this is private function , so this massage should never show in console ! \n";
    14     }
    15 };
    16 struct struct2 : struct1{
    17     /*
    18     
    19     according the result in console , we can get the conclusion :
    20     
    21     the default inherit method of struct is public 
    22 
    23     */
    24 };
    25 class class1 : public  struct1 {
    26     /*
    27     
    28     if ignore 'public' identifiers , compile will show that privateFunc() in 35 line 
    29     
    30     can't access, this indicate that it is private inhert when subclass is a struct. 
    31     
    32     */
    33     string name ;
    34     public :
    35     class1(){
    36         name = "i'm a class !";
    37         cout<<"this is output by class1 !";
    38     }
    39 };
    40 class class2{
    41     public :
    42     void showClass2(){
    43         cout<<"this is output by class2 ! \n ";
    44     }
    45 };
    46 class class3 : class2{
    47     /*
    48 
    49     according to the result : showClass2 can't accessiable can prove class default 
    50     
    51     inherit method is private 
    52 
    53     */
    54 };
    55 struct struct4 : class2{
    56     /*
    57 
    58     default inherit is public 
    59     
    60     */
    61 };
    62 class class4 : struct1 {
    63     /*
    64 
    65     default inherit is private 
    66     */
    67 }
    68 int main(){
    69     //struct2 onestruct2 ;
    70     //onestruct2.privateFunc();    
    71     /* test class default inherit */
    72     //class3 * oneclass3 = class3;
    73     //oneclass3->showClass2();
    74     /* test struct inherit class */
    75     //struct4 onestruct4 ;
    76     //onestruct4.showClass2();
    77     class4 * oneclass4;
    78     oneclass4->privateFunc();
    79     return 0;
    80 }
  • 相关阅读:
    bzoj 4583 购物
    hdu 4694 支配树
    弦图问题初步
    第一次省选总结
    初学kd树
    省选前集训 lca
    bzoj 3282 Tree
    bzoj 2157 旅游
    二分图匹配(匈牙利算法模板)
    最大流(模板)
  • 原文地址:https://www.cnblogs.com/caiyao/p/3659804.html
Copyright © 2020-2023  润新知