注册 登录
编程论坛 C++教室

如何“免费”调用一个class以及字符串构造函数?

FollowDream 发布于 2017-01-12 17:11, 1835 次点击
请教大家两个有关class的问题:
  
面试的时候被问到“如何免费调用一个class?” 我不太理解这个问题。难道要用inline class?还是说把所有的member function都改成inline member function?但是一旦改成inline member function,又该怎么调用构造函数?
  
另外,关于构造函数,
class Class_Fibonacci
     {
     private:
         char string[];
         char *string_point;
     public:
         Class_Fibonacci () // 一个构造函数
         { string[3] = {"ABC"}; }
         Class_Fibonacci (char *string_point); // 另一个构造函数
     };
int main()
     {
     Class_Fibonacci class_f; // 报错
     Class_Fibonacci class_f("ABC"); // 报错
     return 0;
     }
  
请问为什么main函数里“Class_Fibonacci class_f;”和“Class_Fibonacci class_f("ABC");”是错的?究竟应该怎样用构造函数给private里的字符串赋值?

恳请指点!谢谢了先!
6 回复
#2
rjsp2017-01-12 19:47
你这代码,错得我没发猜出你想干什么
#3
随风飘荡2017-01-13 01:45
第一个问题免费的定义是什么
另外一个问题基础了点吧,C++忘了还是没学过。
程序代码:

class Class_Fibonacci
     {
     private:
         char string[]; //这种应该都学过等于char *string;吧
         char *string_point;
     public:
         Class_Fibonacci () // 一个构造函数
         { string[3] = {"ABC"}; }    //野指针调用
         Class_Fibonacci (char *string_point); // 另一个构造函数     //函数体呢?
     };
#4
FollowDream2017-01-13 18:23
回复 楼主 FollowDream
其实我就是想问问,怎么调用public的构造函数,来对private的字符串进行初始化……
#5
FollowDream2017-01-13 18:24
回复 2楼 rjsp
其实我就是想问问,怎么调用public的构造函数,来对private的字符串进行初始化……
#6
yangfrancis2017-01-16 15:18
class Class_Fibonacci
     {
     private:
         char str[20]; //数组给个足够的长度
     public:
         Class_Fibonacci () // 一个构造函数
         { strcpy(str,"ABC"); }
         Class_Fibonacci (char*getstr)
         {strcpy(str,getstr);} // 另一个构造函数
     };
int main()
     {
     Class_Fibonacci class_f; // 报错
     Class_Fibonacci class_f("ABC"); // 报错
     return 0;
     }
#7
FollowDream2017-01-17 18:27
回复 6楼 yangfrancis
非常感谢!
1