C++学习笔记系列博客参考书籍为C++ primer 第五版,书中源代码,在这里下载
这篇文章包含三个部分:一个简单的C++程序、类简介和书店程序。涉及到以下知识点:
- 函数的基本结构
- C++输入输出语句
- 类简介
一个简单的C++程序
首先,通过一个简单的程序,了解一下C++中函数的基本结构,C++输入输出语句和注释的方法形式
#include<iostream> //包含输入输出流
/*
*简单主函数:
*读取两个数,求和并将结果输出
*/
/*一个函数包含四个部分:
*返回类型:本例中的int
*函数名:本例中的main
*一个括号包含的形参列表:可以为空,本例中main后面的小括号()
*函数体:本例中的花括号
*/
int main()
{
//提示用户输入两个数
std::cout << "Enter two numbers:" << std::endl; // << 为输出运算符,其右侧为需要打印的值;endl 为操纵符,效果是结束当前行(end line),类似于C语言中的 \n
int v1 = 0, v2 = 0;
std::cin >> v1 >> v2; // >> 为输入运算符
std::cout << "The sum of " << v1 << " and " << v2 << " is " << v1 + v2 << std::endl;
return 0;
}
类简介
类机制是C++最重要的特性之一,C++最初的设计焦点就是能自定义使用上像内置类型一样自然的类类型,每个类实际上都定义了一个新的类型,其类型名就是类名。
通过一个书店程序,来进一步了解类。首先,Sales_item.h头文件拷到自己的工作目录中(项目保存的目录)以使程序能正常运行。
#include <iostream>
#include "Sales_item.h" //头文件声明,自定义类
int main()
{
// 定义一个类类型的变量和内置类型方法相同
Sales_item total; // 保存下一条交易记录的变量
// 读入第一条交易记录,并确保有数据可以处理
if (std::cin >> total) {
Sales_item trans; // 保存和的变量
// 读入并处理剩余交易记录
while (std::cin >> trans) {
// isbn()是类的成员函数,通常以一个类对象的名义来调用,它的功能是保存书的编号。
if (total.isbn() == trans.isbn()) //如果我们正在处理相同的书。
total += trans; // 更新总销售额
else {
// 打印前一本书的结果
std::cout << total << std::endl;
total = trans; // total现在表示下一本书的结果
}
}
std::cout << total << std::endl; // 打印最后一本书的结果
} else {
// 没有输入!警告读者
std::cerr << "No data?!" << std::endl;
return -1; // 声明失败
}
return 0;
}
读完这些,已经对C++有了初步的认识。在编译过程中,会出现找不到Version_test.h头文件的错误,找到Sales_item.h,将第41行注释掉,即可。Version_test.h也是一个自定义的类,不是C++内置的类。关于VS2017控制台闪退问题的解决,这里提供一种方法。项目–>其他窗口–>属性管理器–>右击项目–>属性–>连接器–>系统–>子系统–>在下拉菜单里选择控制台 (/SUBSYSTEM:CONSOLE),配置完毕,问题解决。