我的C++学习笔记

本文涵盖了C++编程的基础知识,包括类的成员变量初始化、字符串初始化、文本框显示修改、运算符重载、多重继承、虚继承解决二义性、指针使用、析构函数、模板函数、map类、套接字应用等核心概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我的C++学习笔记

1.类的成员变量初始化时需要定义构造函数来完成,而完完成字符串的初始化,常使用strcpy()函数。

2.使用visual studio 2010 版时,想要改变显示的文本框,需要先下载工具,调一下边框,然后在导入别人做好的设置

3.运算符实际上是一个函数,所以运算符的重载实际上是函数的重载

class CBook
{
pubilc :
CBook operator+(CBook b)
{
return CBook(m_iPage+b.m_iPage);
}
}

4.多重继承的顺序为依次继承的,如:class CAirBicycle : public CBicycle,public CAirplane
继承的顺序为:CBicycle,CAirplane。同事需要注意的是:在调用类的时候,首先调用构造函数,结束时调用析构函数(用来释放内存空间)。

5.C++利用虚继承来解决多继承二义性。

6.可以定义指向基类的指针来(定义基类类型的指针对象),但是调用子类的构造函数来实现。
例如,Employee是Operater的基类,Operater又是Manager的基类,就可以这样写:
Employee *pWorker;
。pWorker = new Operater();
············
delete pWorker;
pWorker = NULL;
pWorker = new Manager();
············
delete pWorker;
pWorker = NULL;

7.在C++语言中,多态性是指具有不同功能的函数可以使用同一个函数名,这样就可以用一个函数名地哦啊用不同内容的函数,发出同样的消息被不同类型的对象接收时,导致完全不同的行为。例如:可以在一个类中定义:
void RUN()
{
cout<<"Runing! state:"<<" "<<endl;
}
void RUN(char *sta)
{
cout<<"Runing! state:"<<sta<<endl;
}

但是多态主要体现在虚函数上,例如在基类定义纯虚函数,在各个不同子类上实现。

8.对于包含纯虚函数的类来说,是不能够实例化的,“CFigure figure;”是错误的。

9.模板函数与#define宏定义相似,但模板函数是有模板实例化得到的函数,与普通函数没有区别,可以重载模板函数。
template<类型形式参数表>
返回类型 函数名(形式参数表)
{
…..函数体
}
当提示error:more than one instance of overload function … match the argument list.需要尝试在函数模板形参前加上“&”。

10.关于析构函数,这里为了防止子类函数的内存泄露,常将子类和基类的虚构函数定义为虚函数型,加上virtual关键字

11.输出流ofstream myfile(“test.txt”)结合 是用来对文件进行输入的,可以理解为流输出到文件。如果想要读取文件的内容需要用到ifstream 留来完成,可以理解为文件输入到流。

12.宏定义不是C++语句,不需要在行末加分号,#define。如果在串中含有宏名,则不进行替换,有效作用范围为定义命令之后到此源文件结束。可以用#undef命令终止定义的作用域。

13.map类的模板生成map(映射)对象按顺序存储一组值,其中每个元素与一个检索码关联。是非常有用的一类对象。迭代器相当于指向容器的指针,他在容器内可以向前移动,也可以做向前或者向后的双向移动。

14.套接字包括:原始套接字、流式套接字以及数据包套接字。流式套接字建立步骤为:

  1. 创建套接字
  2. 将创建的套接字绑定(bing)到本地的地址和端口上。
  3. 服务端设置套接字的状态为监听状态(listen),准备接收客户端的连接请求。
  4. 服务端接受请求(accept),同时返回得到一个用于连接的新套接字。
  5. 使用这个新套接字进行通信(通信函数使用send/recv)。
  6. 释放套接字资源(closesocket)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值