zoukankan      html  css  js  c++  java
  • 对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 }
  • 相关阅读:
    JavaScript实现常见排序算法
    执行环境与作用域
    几种常见的三列布局,中间自适应,两边定宽
    常见的两列布局
    CodeAtlas For Sublime Text
    增加调用路径查找
    增加调用被调用个数隐喻
    sublime 插件
    分析大工程
    Jmeter 分布式测试
  • 原文地址:https://www.cnblogs.com/caiyao/p/3659804.html
Copyright © 2011-2022 走看看