c++学习总结(学生期末)

  1. const修饰符

const修饰符,很容易就会弄混,所以在这里简单的说明。const与#define有着异曲同工之处,首先,他们都是可以定义某个常量,并且只可以读取,而不能改变数据。相当于在石头上刻字,之后不能用笔去改正内容;但是它们也有不同的地方,const可以有自己的数据类型,它有着更好的代码优化。对于我来说,最难的一点就是const与指针一起使用。归纳一下有着三种情况:指向常量的指针,常指针,指向常量的指针。
(1)指向常量的指针
const char * pc=“abcd”;像这种情况就不能改变所指的常量,但是可以改变指针本身的值,就是说可以另外给pc指针赋其他的值。
(2)常指针
是指指针本身的,如char* const pc=“abcd”;这里的指针是固定的,但是pc的数据可以改变,就是说pc是const,所指的数据不是。
(3)指向常量的常指针
const char* const pc=“abcd”;这里是声明了一个叫pc的指针变量,指针和常量都是const,都不可以改变。也可以看作是前面两个的结合。
总结一点就是看const与指针的距离。

2.派生类的构造函数的继承规则
先祖先,在客人,再自己。简单点说就是先调用所对应的基类,然后是其他的派生类,最后才是自己的类;如果有虚基类就先调用。

3.函数名要加上()

4.虚函数的调用
举个例子:
#include
using namespace std;
class A{
public:
virtual void fa(void)
{cout<<“A::fa”<<endl;}
void fb(void)
{ cout<<“A::fb”<<endl;}
};
class B:public A{
public:
void fa(void)//这就失去了虚特性,变成了一般的重载函数
{cout<<“B::fa”<<endl;}
void fb(void)
{cout<<“B::fb”<<endl;}
};
void main()
{
Apa=new A;
A
pb=new B;
pa->fa();
pb->fb();
pb->fa();//这里是重载函数的调用,但是fa已经变为了一般的重载函数了。
pb->A::fa();
((B*)pb)->fb();
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南宫若月︎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值