//student.h
#include<iostream>
using namespace std;class Student{
int id;
public:
Student(int d):id(d){
cout<<"Student"<<"\n";
}
void print(){cout<<id<<"\n";}
};class Tutor{
Student s;
public:
Tutor(Student& st):s(st){cout<<"tutor\n";s.print();}
};//aaa.cpp
#include"student.h"
Student ra(18);
//bbb.cpp
#include"student.h"
extern Student ra;
Tutor je(ra);
extern int iid;
void main(){}对于以上的程序,运行结果为:
tutor
0
student
教材上说,je这个全局对象先构造,所以是这个结果。
我想:在执行 Tutor je(ra);这条语句的时候,ra此时是个对象吗,如果是它为什么不调用构造函数。
#include<iostream>
using namespace std;class Student{
int id;
public:
Student(int d):id(d){
cout<<"Student"<<"\n";
}
void print(){cout<<id<<"\n";}
};class Tutor{
Student s;
public:
Tutor(Student& st):s(st){cout<<"tutor\n";s.print();}
};//aaa.cpp
#include"student.h"
Student ra(18);
//bbb.cpp
#include"student.h"
extern Student ra;
Tutor je(ra);
extern int iid;
void main(){}对于以上的程序,运行结果为:
tutor
0
student
教材上说,je这个全局对象先构造,所以是这个结果。
我想:在执行 Tutor je(ra);这条语句的时候,ra此时是个对象吗,如果是它为什么不调用构造函数。
解决方案 »
- CHttpConnection 怎样指定 HTTP/1.0
- 《windows media编程导向》例子代码中WmImages怎么编译通不过?
- 什么叫窗口子类化?如何实现?几种方式?
- 一个奇怪的问题
- VisualMagick
- 关于音频播放的问题
- 好像vc中的工具栏只能是16像素高吗?如何使得工具栏的高度可以超过16像素,在那里设置呀?
- 如何从HBITMAP里获取每个像素的RGB值?只能用API
- 我想判断ctrl+alt+del列表中是否有abcd.exe程序在运行,该怎么作?枚举进程的API忘了
- 有关ShellExecute的问题
- 在对话框的 OnCtlColor 中没有只读控件的句柄
- 请问:CString类需要包含什么头文件?
Student
tutor
18