用C++写一个类程序,其中用到内联,重载,构造,析构函数,简单一点就行!发到邮箱zo13@163.com!

2024年11月28日 09:49
有1个网友回答
网友(1):

class class_demo
{
public:
class_demo(){ p = new int(4); }//默认构造函数
class_demo(int a){ p = new int(6);}//构造函数
int add(int a, int b){ return a+b; }
double add(double a, double b){ return a+b;}//重载add函数
~class_demo(){ if(p != NULL) delete p; p = 0;}//析构函数
inline void test(){}//显示指定为内联,但是默认也是,除了构造函数,析构函数或者静态函数外,都会默认指定为内联。
inline void test(int a);
private:
int * p;
};
inline void c_demo::test(int a){}//显示指定为内联,但是如果函数非常巨大,就算显示指定为inline,编译器也不会将其编译为inline函数,而是作为普通函数处理。

内联:C++的类成员函数在类的声明中实现则会自动默认为内联inline,当然也可以明确声明,在类的声明外实现类成员函数必须显式的指名inline编译器才会将其编译为内联,但是如果在类外实现的函数非常庞大,就算你显示的指定为inline,在编译时也不会作为内联函数处理。
重载:具体的说在同一作用域内,只要函数名而参数不同且参数不能默认转换的多个函数就是重载关系,具体的需要多编码去体会。
析构函数:通常是用来析构类成员变量,这种变量通常为指针,其指向的空间是动态分配而来。

直接手动写的,很难保证编码有没有错误,有什么问题再说吧。。。