博客
关于我
【C++】谭浩强《C++面向对象程序设计》-学习笔记
阅读量:553 次
发布时间:2019-03-09

本文共 1427 字,大约阅读时间需要 4 分钟。

C++开发入门基础知识

1. 输出与输入

C++是一种通用编程语言,由Bjarne Stroustrup在1983年首创。语言特点强调面向对象编程和标准化。

1.1 输出机制

C++程序的输出主要依赖于<iostream>头文件。常用的输出流对象包括cout,而<<为插入运算符。例如:

#include 
using namespace std; // 使用标准命名空间int main() { cout << "Hello, World!" << endl; return 0;}

endl控制符与\n功能相同,用于换行。

1.2 输入机制

输入流对象为cin,提取运算符为>>。例如:

int a, b;cin >> a >> b;

输入值间需使用空格或换行符分隔。

2. 数据类型与常量

2.1 常量定义

使用const定义常量,确保其不可修改。例如:

const int MAX_VALUE = 100;

3. 类与对象

3.1 类的初始化

类的数据成员在定义时不能直接初始化。只有公有数据成员可以在对象定义时初始化。例如:

class Time {public:    Time(int hour, int minute, int sec) {        hour = 0; minute = 0; sec = 0;    }};Time t1 = {14, 56, 30};

3.2 构造函数

构造函数的作用是初始化对象。无参数构造函数默认生成,无法修改成员变量值。带参数构造函数可实现不同对象的个性化初始化。例如:

class Box {public:    Box(int h = 0, int w = 0, int len = 0) : height(h), width(w), length(len) {}};

3.3 析构函数

析构函数用于释放资源。每个类只能有一个析构函数,且不能返回值。例如:

~Box() {    // 释放资源}

4. 指针与内存管理

4.1 指针基础

指针存储对象地址,使用*解除引用。例如:

int jumbo = 23;int *pe = &jumbo;

4.2 指针应用

通过指针访问对象成员或函数。例如:

int *p1 = &t1.hour;void (Time::*p2)() = &Time::get_time;t1.*p2();

5. 常用注意事项

5.1 编译器错误处理

  • 非静态成员引用需与对象结合。
  • switch语句需在case后加{}

6. 字符串处理

使用<string>头文件定义字符串变量。例如:

#include 
string str = "Hello";string another = "World";

7. 模板功能

定义通用函数或类。例如:

template 
class Util {public: static T create(T &obj) { // 通用创建逻辑 }};

8. 标准库使用

包括必要的头文件,正确使用控制符如setw进行格式化输出。例如:

#include 
cout << setw(5) << "Name:" << name << endl;

通过以上知识,您可以快速入门C++编程,逐步掌握面向对象编程的核心概念。

转载地址:http://drwsz.baihongyu.com/

你可能感兴趣的文章
No 'Access-Control-Allow-Origin' header is present on the requested resource.
查看>>
NO 157 去掉禅道访问地址中的zentao
查看>>
no available service ‘default‘ found, please make sure registry config corre seata
查看>>
no connection could be made because the target machine actively refused it.问题解决
查看>>
No Datastore Session bound to thread, and configuration does not allow creation of non-transactional
查看>>
No fallbackFactory instance of type class com.ruoyi---SpringCloud Alibaba_若依微服务框架改造---工作笔记005
查看>>
No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalanc
查看>>
No mapping found for HTTP request with URI [/...] in DispatcherServlet with name ...的解决方法
查看>>
No mapping found for HTTP request with URI [/logout.do] in DispatcherServlet with name 'springmvc'
查看>>
No module named 'crispy_forms'等使用pycharm开发
查看>>
No module named cv2
查看>>
No module named tensorboard.main在安装tensorboardX的时候遇到的问题
查看>>
No module named ‘MySQLdb‘错误解决No module named ‘MySQLdb‘错误解决
查看>>
No new migrations found. Your system is up-to-date.
查看>>
No qualifying bean of type XXX found for dependency XXX.
查看>>
No resource identifier found for attribute 'srcCompat' in package的解决办法
查看>>
no session found for current thread
查看>>
No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
查看>>
NO.23 ZenTaoPHP目录结构
查看>>
no1
查看>>