小众知识

首页 > 正文

一个简单类的创建问题,请教????

///Handle.h
#ifndef HANDLE_H
#define HANDLE_H
class Handle{
    struct Cheshire;//incomplete type specification
    Cheshire* smile;
    public:
        Handle();
        ~Handle();
        int read();
        void change(int);
};
#endif//HANDLE_H
<------------------------------------------->
///Handle.cpp{O}
///implement the Handle class
//实现文件
#include"Handle.h"
struct Handle::Cheshire {
    int i;

};
Handle::Handle(){
    smile=new Cheshire;//这里分配的空间它的大小是多少?
    smile->i=0;
}
Handle::~Handle(){
    delete smile;
}
int Handle::read(){
    
    return smile->i;
}
void Handle::change(int a){
    
    smile->i=a;
}
<---------------------------------------------------->
//UseHandle.cpp
#include"Handle.h"
#include
using namespace std;
int main(){
    Handle u;
    cout<    
    u.change(3);
    cout<}
<----------------------------------------------------->
为什么运行useHandle时不会打印出u.read()的结果呢?

为什么?  

 xyxcg 发表于:2003-08-01 16:21:02
得分:0 

怎么我运行就可以产生0,3的输出? 

 xyxcg 发表于:2003-08-01 16:24:21
得分:20 

smile=new Cheshire 分配了4个字节空间 

上一篇:关于运算符重载问题!!!
下一篇:怎样学windows SDK?

分享到: