为什么在C ++程序中出现错误
why getting errors in c++ program?
我想我已经在这个程序中正确编码了所有内容,但仍然收到错误。对象si
它说它不可访问。
#include<conio.h>
#include<iostream.h>
class s_interest
{
int p,t;
float r;
s_interest(int a, int b, float c)
{
p=a;
r=b;
t=c;
}
void method()
{
int result=(float)(p*t*r)/100;
cout<<"Simple interest:"<<result;
}
};
void main()
{
int pr,ti;
float ra;
cout<<"n Enter the principle, rate of interest and time to calculate Simple Interest:";
cin>>pr>>ti>>ra;
s_interest si(pr,ti,ra);
si.method();
}
当编译器告诉你某些东西不可访问时,它谈论的是public:
与 protected:
vs. private:
访问控制。默认情况下,类的所有成员都是private:
的,因此您无法从main()
访问其中任何一个成员,包括构造函数和方法。
若要使构造函数public
,请将public:
节添加到类中,并将构造函数和方法放在那里:
class s_interest
{
int p,t;
float r;
public: // <<== Add this
s_interest(int a, int b, float c)
{
...
}
void method()
{
...
}
};
class
的默认成员访问权限为 private
(而struct
的默认值为 public
)。您需要制作构造函数并method()
public
:
class s_interest
{
int p,t; // private
float r; // also private
public: // everything that follows has public access
s_interest(int a, int b, float c) { .... }
void method() { ....}
};
另请注意,void main()
不是标准C++。返回类型需要int
,所以你需要
int main()
{
...
}
最后,iostream.h
不是标准的C++标头。如果您使用的是符合标准的C++实现,则需要包含<iostream>
。
遵循高完整性C++编码标准准则,始终首先声明公共成员,然后声明受保护和私有成员。请参阅 hicpp-manual-version-3-3.pdf
类中的所有变量和函数都是私有的。当未使用 private:
、 protected:
和 public:
说明符指定访问权限时,这是默认值。我建议你好好阅读一个教程 - 谷歌C++类。
而且它int main()
,永远不会void main()
问题是由于访问说明符造成的。默认情况下,类方法和数据成员是私有的。将数据成员设为私有,并将方法设为公开。因此,您可以使用公共方法设置私有数据成员值。
class{
private:
int a;
int b;
int c;
public:
void method();
void print_sum();
};
相关文章:
- 程序崩溃并显示"std::out_of_range"错误
- xmake总是报告:错误:无法获取cxx的程序,为什么
- VSCode-有一个红色下划线,但程序构建和运行正确,并且出现配音错误
- 分段错误当我试图运行程序时出错
- 显示错误输出的简单数组排序程序
- 示例外壳应用程序显示的 V8 "segmentation fault (core dumped)"错误
- C++应用程序 MySQL odbc 数据库连接错误:在引发"otl_tmpl_exception<>"实例后终止调用
- 为什么程序在 c++ 中迭代 emtpy 向量时会抛出运行时错误
- 在气泡排序程序中未声明错误功能
- 我在c ++矩阵计算器程序中找不到错误
- 叮当格式化程序多行格式配置错误
- 全局向量导致 C++ 程序结束时出现段错误
- 运行时间错误:程序跳过提示,以获取第二名和第三个名称
- Glibc 2.7 配置错误程序太旧
- 运行时错误:程序已停止响应
- OpenCV for Android:在 PATH 中找不到错误程序"sh"
- C++中的 scanf 错误 - 程序没有响应
- c++语法错误:程序以非零状态退出
- 运行时错误C++程序:检测到glibc,munmap_chunk(),指针无效
- libxml2错误程序c++