问题及代码:
/* *Copyright (c) 2016,烟台大学计算机学院 *All rights reserved. *文件名称:zwj.cpp *作 者:张伟晶 *完成日期:2016年5月10日 *版 本 号:v1.0 * *问题描述:阅读程序 *输入描述: *程序输出: */ #include <iostream> using namespace std; class Part //部件类 { public: Part(); Part(int i); ~Part(); private: int val; }; Part::Part(){ val=0; cout<<"调用Part的默认构造函数:"<<val<<endl; } Part::Part(int i){ val=i; cout<<"调用Part的构造函数: "<<val<<endl; } Part::~Part(){ cout<<"调用Part的析构函数: "<<val<<endl; } class Whole: public Part{ public: Whole(); Whole(int,int,int,int); ~Whole(); private: Part one; Part two; int data; }; Whole::Whole(){ data=0; cout<<"调用whole的默认构造函数: "<<data<<endl; } Whole::Whole(int p, int i,int j,int k): Part(p),two(i),one(j),data(k) //问题2 { cout<<"调用whole的构造函数: "<<data<<endl; } Whole::~Whole(){ cout<<"调用whole的析构函数: "<<data<<endl; } void f(){ Whole w1; Whole w2(1,2,3,4); } int main(){ f(); return 0; }
警告:
原因:
初始化顺序应该按照声明的顺序。否则就会出现警告。
时间: 2024-10-08 17:27:05