前言
对 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
网友评论