首页 > C++ > 正文 构造函数 浏览 861 · 点赞 0 · 1年前 (2023-10-12) 构造函数 x1#include <iostream>2using namespace std;3 4class classBase5{6public:7 classBase(int icb)8 :m_cB(icb)9 {10 11 };12 ~classBase();13private:14 int m_cB;15};16class classA:public classBase17{18 19};20int main()21{22 //classA SS;23 printf("classA SS;运行不成功,说明:\n");24 printf("\t(1)编译器合成的构造函数无法调用classBase的默认构造函数,因其没有默认构造函数\n");25 printf("\t(2)但注释了这一句编译器并不报错,则说明编译器合成构造函数操作只有在构造真正需要被调用时才会发生\n");26 printf("总结:\n");27 printf("\t(1)编译器合成构造函数只构造出成员类的默认初始化构造函数,而不会初始化内置类型的成员变量\n");28 printf("\t(2)如果程序员写了构造函数,则编译器不会生成合成构造函数\n");29 printf("\t(3)如果程序员写了构造函数,且只对内置类型成员作了初始化,则编译器会将其它成员类的默认初始化构造补充到程序员写的构造函数中去\n");30 printf("\t(4)如果类内的成员类没有默认构造,则上面(1)(3)点将不成立,编译器会报错\n");31 system("pause");32}33 C++ 已有0人点赞 打赏一下作者 上一篇 模板 下一篇 类使用空间说明 猜你喜欢 含指针的类 普通类 类使用空间说明