美文网首页Android开发经验谈Android开发c/c++
C++ 基础语法之指针,结构体,类 & 对象

C++ 基础语法之指针,结构体,类 & 对象

作者: 毛先森 | 来源:发表于2019-07-30 19:33 被阅读5次

    前言

    对 C++ 中的指针,结构体,内存回收,通过记录自己的 NDK 学习之路,准备硬着头皮学下去。

    目录

    • 指针
    • 结构体
    • 类 & 对象

    指针

    指针存放了内存地址,使用 * 来声明指针,而读取指针数据时使用 & .

    结构体

    • 比 Java 的类还要小一级的数据结构,通过 struct 关键字来定义结构体,为了方便使用,通常搭配 typedef (别名) 来使用,也可以使用它的便捷方式来声明。
     #include <iostream>
     #include <cstring>
     
    using namespace std;
    void printSong( struct Song *song );
    
    typedef struct Song
    {
        char name[30];
        char author[20];
        char lyics[200];
    }Song; 
    
        
    int main () {
        // 生成测试数据
        Song chinaSong;
        
        strcpy( chinaSong.author, "李志");
        strcpy( chinaSong.name, "好威武支持有希望");
        strcpy( chinaSong.lyics, "哈哈哈");
        // 输出 
        
        printSong(&chinaSong); 
        return 0;
    } 
    
    
    void printSong( Song *song){
        
        cout<<"歌名:"<<song-> name<<endl;
        cout<<"作者:"<<song-> author<<endl;
        cout<<"歌词:"<<song-> lyics<<endl;
        
    }
    
    image.png

    类 & 对象

    C++ 提供面向对象编程,但是与 Java 的单继承不同,C ++ 支持多继承,也就是说可以继承多个基类,关键字的作用和 Java 没有区别.
    在 Java 中有继承关系的两个类被称为父类和子类,而在 C++ 中用基类和派生类来表示.

    # include<iostream> 
    #include <string>
    using namespace std;
    
    class Song {
        
        public:
            void play(){
              cout<<_name<<endl;
            }
            
            void setName(string  name ){
                _name = name;
            }
            
            
        protected:      
        string  _name;
        
    }; 
    
    
    class ChinaSong :public Song{
         
         protected:     
         string  _lyric;    
    
    }; 
    
    int main (){
        ChinaSong testSong;
        testSong.setName("成都");
        testSong.play();
      return 0;
    }
    
    
    
    
    image.png

    相关文章

      网友评论

        本文标题:C++ 基础语法之指针,结构体,类 & 对象

        本文链接:https://www.haomeiwen.com/subject/mhdorctx.html