//打印输出
std::cout<<"Hello World"<<std::endl;
//宏常量
#define day 7
//修饰变量,表示常量,相当于java的final
const int a=10;
为了避免频繁的写std::
using namespace std;
//短整型,2字节
short a1;
//整型,4字节
int a2;
//长整型,win为4字节,linux为4字节(32位),8字节(64位)
long a3;
//长长整型,8字节
long long a4;
std::cout<< sizeof(a1)<<std::endl;
std::cout<< sizeof(a2)<<std::endl;
std::cout<< sizeof(a3)<<std::endl;
std::cout<< sizeof(a4)<<std::endl;
//单精度,4字节,7个有效数字
float f1;
//双精度,8个字节,15-16位有效数字
double f2;
std::cout<< sizeof(f1)<<std::endl;
std::cout<< sizeof(f2)<<std::endl;
//科学计数法
float f3=3e2;//3*10^2
float f4=3e2;//3*0.1^2
如果属性有在堆区开辟的,一定要自己提供拷贝构造函数,防止浅拷贝带来的问题
静态变量
静态变量还需要声明在类外面
class Person {
public:
static int i;
int get(){
return i;
}
};
int Person::i;
继承语法
class Person {
public:
void test(){
std::cout<<"123"<<std::endl;
}
};
class Man:public Person{
};
文件的读写
写文件:
int main() {
std::ofstream ofs;
ofs.open("test.txt",std::ios::out);
ofs<<"在吗"<<std::endl;
ofs<<"在吗"<<std::endl;
}
读文件:
ifstream ifs;
ifs.open("test.txt");
//如果打开失败则返回
if(!ifs.is_open()){
return 0;
}
char buffer[1024]={0};
//将输入流拷贝到buffer中
while(ifs>>buffer){
cout<<buffer<<std::endl;
}
ifs.close();
第二种方式:
ifstream ifs;
ifs.open("test.txt");
if(!ifs.is_open()){
return 0;
}
char buffer[1024]={0};
//第二种方式
while(ifs.getline(buffer, sizeof(buffer))){
cout<<buffer<<std::endl;
}
ifs.close();
第三种方式:
ifstream ifs;
ifs.open("test.txt");
if(!ifs.is_open()){
return 0;
}
//第三种方式
string buf;
while (getline(ifs,buf)){
cout<<buf<<std::endl;
}
ifs.close();
第四种方法:
ifstream ifs;
ifs.open("test.txt");
if(!ifs.is_open()){
return 0;
}
char c;
while((c=ifs.get())!=EOF){
cout<<c<<endl;
}
二进制的方式进行读写操作
写文件:
//第二个参数表示,输出流以二进制的方式
ofstream ofs("person.txt",ios::out|ios::binary);
//上面方法和下面方法都可以。
// ofs.open("person.txt",ios::out|ios::binary);
Person p={"zhangsan",12};
ofs.write((const char*)&p, sizeof(Person));
ofs.close();
读文件:
ifstream ifs;
ifs.open("person.txt",ios::in|ios::binary);
if(!ifs.is_open()) {
return 0;
}
//创建对应的bean进行接收
Person person;
ifs.read((char *)&person, sizeof(Person));
cout<<person.age<<"----"<<person.name<<endl;
ifs.close();