14.谈谈你对拷贝构造函数和赋值运算符的认识 15.用 C++设计一个不能被继承的类 16.访问基类的私有虚函数 17.简述类成员函数的重写、重载和隐藏的区别 18.简述多态实现的原理 19.链表和数组有什么区别 20.怎样把一个单链表反序 11.设置地址为 0x67a9 的整型变量的值为 0xaa66 说明:这道题就是强制类型转换...
16.访问基类的私有虚函数 写出以下程序的输出结果: #include <iostream.h> class A { virtual void g() { cout << "A::g" << endl; } private: virtual void f() { cout << "A::f" << endl; } }; class B : public A { void g() { cout << "B::g" << endl; } virtual void ...
全局变量是整个程序都可以访问的变量,生存期是从整个程序运行道结束,在程序结束时,全局变量所占用的内存会被释放; 局部变量存在于模块(子程序、函数)中,只有所在的模块可以访问,其它模块不能访问,模块结束(函数调用完成),局部变量所占用的内存被释放; 操作系统和编译器,可能是通过内存分配的位置来知道的,全局变量会...
class 派生类名 : [继承方式] 基类名 {派生类新增的成员}; 继承方式有:public(公用的),private(私有的),protected(受保护的),默认为private(私有的) 继承有三部分工作 1.接受全部基类成员,但不接受基类的构造函数与析构函数 2.调整成员:改变访问属性; 3.增加新成员 访问属性 公用继承 私有继承 保护继承 多级...
继承性:广义的继承有三种实现形式:实现继承(使用基类的属性和方法而无需额外编码的能力)、可视继承(子窗体使用父窗体的外观和实现代码)、接口继承(仅使用属性和方法,实现滞后到子类实现)。 多态性:是将父类对象设置成为和一个或更多它的子对象相等的技术。用子类对象给父类对象赋值之后,父类对象就可以根...
无论是公有、保护还是私有继承,派生类都能够访问基类的公有和保护成员,而不能访问基类的私有成员,故选项A和B不正确。公有继承时,派生类的对象可以作为基类的对象处理,派生类是基类的子类型。子类型关系是可以传递的,但是不可逆的。因此,基类的对象不可作为派生类的对象处理,即基类对象不可赋值给派生类对象。所以...
C++友元函数的使用方法 我们都知道类中的私有成员,只有被类里的成员函数访问,在类外是不能访问的。这体现了C++中类设计的封装、隐蔽思想,是C++最基本的优点。 但如果偶尔有的时候,我们在类外又确实想访问这些私有成员,就会变得麻烦很多,就处于既访问不到又不能声明为public类型的两难处境。
多重继承,放在第一个有虚函数指针基类的地方,如果基类都没有虚函数,就是特属子类的虚函数指针 2、c++泛型编程 泛型在C++中的主要实现为模板函数和模板类。 模板函数 以swap函数为例,都是交换功能,只是数据类型的不同,template是声明一个模板,typename/class是声明一个虚类型T 代码语言:javascript 代码运行次数:0...
unique_ptr 中拷贝构造函数和赋值操作符都声明为delete或private。 优先使用 make_shared 和 make_unique 的原因是为了避免内存泄露。参考C++11 中的 Smart Pointer(shared_ptr/weak_ptr/unique_ptr) 总结 智能指针使用注意事项: 不使用相同的内置指针值初始化,或reset多个智能指针 ...